Objectif

L'objectif de ce TP est de vous familiariser avec GitHub Actions en créant un workflow qui automatise le processus de build et de push d'une image Docker vers un registre.

Prérequis

Étapes

1. Création du repository

  1. Créez un nouveau repository sur GitHub
  2. Clonez le repository sur votre machine locale

2. Préparation de l'application

  1. Créez une application simple (par exemple, une application web en Python avec Flask)
  2. Ajoutez un Dockerfile pour containeriser votre application

3. Configuration de GitHub Actions

  1. Créez un dossier .github/workflows à la racine de votre projet
  2. Créez un fichier YAML (par exemple, docker-build-push.yml) dans ce dossier

4. Écriture du workflow

Dans le fichier YAML, définissez votre workflow :

name: Docker Build and Push

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    
    - name: Login to Docker Hub
      uses: docker/login-action@v2
      with:
        username: ${{ secrets.DOCKERHUB_USERNAME }}
        password: ${{ secrets.DOCKERHUB_TOKEN }}
    
    - name: Build and push
      uses: docker/build-push-action@v4
      with:
        context: .
        push: true
        tags: votre-username/votre-image:latest

5. Configuration des secrets