IREX - Automatiser Docker avec GitHub Actions : Optimisation d’un pipeline CI/CD
Dans cet article, nous allons explorer comment GitHub Actions peut révolutionner l'automatisation des workflows Docker dans vos pipelines CI/CD.
Table des matières
Introduction
Avec la montée en puissance du développement cloud-native, l’automatisation est devenue une nécessité pour garantir des déploiements rapides et fiables. GitHub Actions simplifie l’intégration de Docker dans vos workflows CI/CD, réduisant ainsi les interventions manuelles et optimisant les performances.

Image 1 : Pipeline CI/CD automatisé avec GitHub Actions
Configuration de GitHub Actions
La première étape consiste à créer un fichier workflow dans le dossier .github/workflows
de votre dépôt.
name: Docker Workflow
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build Docker Image
run: docker build -t myapp:${{ github.sha }} .
- name: Push Docker Image
run: |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login --username ${{ secrets.DOCKER_USERNAME }} --password-stdin
docker push myapp:${{ github.sha }}
Ce workflow automatise la création et le push d’une image Docker dès qu’une modification est effectuée sur la branche principale.
Automatisation de la création d'images Docker
Après chaque mise à jour du code, vous pouvez générer automatiquement une nouvelle image Docker :
- name: Build Docker image
run: docker build -t myapp:${{ github.sha }} .
Pour mieux organiser vos tags, ajoutez des références dynamiques :
- name: Build and tag Docker image
run: docker build -t myapp:${{ github.sha }} -t myapp:${{ github.ref }} .

Image 2 : Exemple d'intégration Docker et GitHub Actions
Déploiement et Sécurité
Une fois l’image générée, elle doit être stockée en toute sécurité. Pour ce faire, vous pouvez configurer une authentification Docker :
- name: Log in to Docker Hub
run: |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login --username ${{ secrets.DOCKER_USERNAME }} --password-stdin
Ensuite, poussez votre image vers un registre :
- name: Push Docker image
run: docker push myapp:${{ github.sha }}
Enfin, intégrez un scanner de vulnérabilités (comme Trivy) pour garantir la sécurité des images :
- name: Scan Docker image for vulnerabilities
run: |
trivy image myapp:${{ github.sha }}
if [ $? -ne 0 ]; then exit 1; fi
Conclusion
L’intégration de Docker avec GitHub Actions permet d’accélérer les déploiements, d’améliorer la sécurité et de réduire les tâches répétitives. Que ce soit pour la construction, le stockage ou le déploiement des images, ces automatisations garantissent une meilleure gestion des workflows DevOps.
Références
Source : Boost Your CI/CD Pipeline: Automate Docker With GitHub Actions
No comments yet. Start a new discussion.