Créer et publier les images Docker
Le workflow suivant permet de créer et de publier une image Docker dans le registry de github :
| .github/workflows/build.yml | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |
Ce workflow est utilisé dans le projet demo-devops-actions-0 et nous vous invitons à consulter le résultat sous l’onglet Actions ainsi que dans le Package Registry
Le “Docker GitHub Builder”
Le Docker GitHub Builder est un projet de la communauté Docker qui fournit un workflow préconfiguré pour construire et publier des images Docker avec GitHub Actions. Par rapport au workflow précédent, il offre les avantages suivants :
- Il est plus simple à utiliser et à configurer.
- Il utilise les bonnes pratiques pour la construction et la publication d’images Docker.
- Il permet de construire et de publier des images multi-architecture facilement.
- Il est efficace et rapide car il distribue les tâches de construction sur plusieurs machines avec l’architecture correspondante (ARM ou AMD).
Voici un exemple de workflow qui utilise le Docker GitHub Builder pour construire et publier une image Docker multi-architecture dans le registry de github :
| .github/workflows/build.yml | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
Ce workflow est utilisé dans le projet demo-devops-actions-1 et nous vous invitons à consulter le résultat sous l’onglet Actions ainsi que dans le Package Registry
Consultez les pages suivantes pour les explications :
- GitHub Actions Documentation
- Publishing images to GitHub Packages
- GitHub Action to login against a Docker registry
- GitHub Action to extract metadata
- GitHub Action to build and push Docker images with Buildx
Le “Dependabot”
Github propose aussi un outil de gestion des dépendances appelé Dependabot qui peut être utilisé pour maintenir à jour les images Docker utilisées dans votre projet.
Son utilisation est très simple et il suffit de créer le fichier .github/dependabot.yml avec le contenu suivant :
| .github/dependabot.yml | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
L’exemple ci-dessus est fait pour un projet qui utilise des modules Go, des images Docker et des actions GitHub. Lisez la
documentation officielle
pour plus d’informations sur les options de configuration du fichier dependabot.yml :