⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Configurer CI/CD pour votre application Bun

Prérequis

Terminez toutes les sections précédentes de ce guide, en commençant par Conteneuriser une application Bun. Vous devez avoir un compte GitHub et un compte Docker pour compléter cette section.

Aperçu

Dans cette section, vous apprendrez à configurer et utiliser GitHub Actions pour construire et tester votre image Docker ainsi que pour la pousser sur Docker Hub. Vous réaliserez les étapes suivantes :

  1. Créer un nouveau dépôt sur GitHub.
  2. Définir le flux de travail GitHub Actions.
  3. Exécuter le flux de travail.

Étape un : Créer le dépôt

Créez un dépôt GitHub, configurez les informations d'identification de Docker Hub et poussez votre code source.

  1. Créez un nouveau dépôt sur GitHub.

  2. Ouvrez les Paramètres du dépôt, et allez dans Secrets et variables > Actions.

  3. Créez une nouvelle Variable de dépôt nommée DOCKER_USERNAME avec votre identifiant Docker comme valeur.

  4. Créez un nouveau Jeton d'Accès Personnel (PAT) pour Docker Hub. Vous pouvez nommer ce jeton docker-tutorial. Assurez-vous que les permissions d'accès incluent Lecture et Écriture.

  5. Ajoutez le PAT comme un Secret de dépôt dans votre dépôt GitHub, avec le nom DOCKERHUB_TOKEN.

  6. Dans votre dépôt local sur votre machine, exécutez la commande suivante pour changer l'origine vers le dépôt que vous venez de créer. Assurez-vous de changer your-username par votre nom d'utilisateur GitHub et your-repository par le nom du dépôt que vous avez créé.

    $ git remote set-url origin https://github.com/your-username/your-repository.git
    
  7. Exécutez les commandes suivantes pour préparer, valider et pousser votre dépôt local vers GitHub.

    $ git add -A
    $ git commit -m "my commit"
    $ git push -u origin main
    

Étape deux : Configurer le flux de travail

Configurez votre flux de travail GitHub Actions pour construire, tester et pousser l'image vers Docker Hub.

  1. Allez dans votre dépôt sur GitHub, puis sélectionnez l'onglet Actions.

  2. Sélectionnez configurer un flux de travail vous-même.

    Cela vous amène à une page pour créer un nouveau fichier de flux de travail GitHub Actions dans votre dépôt, sous .github/workflows/main.yml par défaut.

  3. Dans la fenêtre de l'éditeur, copiez et collez la configuration YAML suivante et validez les changements.

    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Login to Docker Hub
            uses: docker/login-action@v3
            with:
              username: ${{ vars.DOCKER_USERNAME }}
              password: ${{ secrets.DOCKERHUB_TOKEN }}
    
          - name: Set up Docker Buildx
            uses: docker/setup-buildx-action@v3
    
          - name: Build and push
            uses: docker/build-push-action@v6
            with:
              platforms: linux/amd64,linux/arm64
              push: true
              tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

    Pour plus d'informations sur la syntaxe YAML pour docker/build-push-action, référez-vous au README de l'Action GitHub.

Étape trois : Exécuter le flux de travail

Enregistrez le fichier de flux de travail et exécutez la tâche.

  1. Sélectionnez Valider les changements... et poussez les changements vers la branche main.

    Après avoir poussé la validation, le flux de travail démarre automatiquement.

  2. Allez dans l'onglet Actions. Il affiche le flux de travail.

    La sélection du flux de travail vous montre le détail de toutes les étapes.

  3. Lorsque le flux de travail est terminé, allez dans vos dépôts sur Docker Hub.

    Si vous voyez le nouveau dépôt dans cette liste, cela signifie que GitHub Actions a poussé avec succès l'image vers Docker Hub.

Résumé

Dans cette section, vous avez appris à configurer un flux de travail GitHub Actions pour votre application Bun.

Informations connexes :

Prochaines étapes

Ensuite, apprenez comment vous pouvez tester et déboguer localement vos charges de travail sur Kubernetes avant de les déployer.