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

Configurer CI/CD pour votre application Node.js

Prérequis

Terminez toutes les sections précédentes de ce guide, en commençant par Conteneuriser une application Node.js. Vous devez avoir un compte GitHub et un compte Docker pour terminer 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 effectuerez 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 1 : 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 à Secrets et variables > Actions.

  3. Créez une nouvelle Variable de dépôt nommée DOCKER_USERNAME avec votre ID 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 autorisations d'accès incluent la lecture et l'écriture.

  5. Ajoutez le PAT en tant que 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 votre-nom-d-utilisateur par votre nom d'utilisateur GitHub et votre-dépôt par le nom du dépôt que vous avez créé.

    $ git remote set-url origin https://github.com/votre-nom-d-utilisateur/votre-dépôt.git
    
  7. Exécutez les commandes suivantes pour mettre en scène, valider et pousser votre dépôt local vers GitHub.

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

Étape 2 : Configurer le flux de travail

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

  1. Allez sur 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.

    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Connexion à Docker Hub
            uses: docker/login-action@v3
            with:
              username: ${{ vars.DOCKER_USERNAME }}
              password: ${{ secrets.DOCKERHUB_TOKEN }}
    
          - name: Configurer Docker Buildx
            uses: docker/setup-buildx-action@v3
    
          - name: Construire et tester
            uses: docker/build-push-action@v6
            with:
              target: test
              load: true
    
          - name: Construire et pousser
            uses: docker/build-push-action@v6
            with:
              platforms: linux/amd64,linux/arm64
              push: true
              target: prod
              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 3 : Exécuter le flux de travail

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

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

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

  2. Allez à 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 à 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é l'image avec succès sur Docker Hub.

Résumé

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

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.