Configurer CI/CD pour votre application C++
Prérequis
Terminez toutes les sections précédentes de ce guide, en commençant par Conteneuriser une application C++. 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 :
- Créer un nouveau dépôt sur GitHub.
- Définir le flux de travail GitHub Actions.
- 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.
-
Créez un nouveau dépôt sur GitHub.
-
Ouvrez les Paramètres du dépôt, et allez dans Secrets et variables > Actions.
-
Créez une nouvelle Variable de dépôt nommée
DOCKER_USERNAME
avec votre identifiant Docker comme valeur. -
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. -
Ajoutez le PAT comme un Secret de dépôt dans votre dépôt GitHub, avec le nom
DOCKERHUB_TOKEN
. -
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 etyour-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
-
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.
-
Allez dans votre dépôt sur GitHub, puis sélectionnez l'onglet Actions.
-
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. -
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.
-
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.
-
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.
-
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 C++.
Informations connexes :
- Introduction à GitHub Actions
- Actions GitHub pour Docker Build
- Syntaxe du flux de travail pour GitHub Actions
Prochaines étapes
Ensuite, apprenez comment vous pouvez tester et déboguer localement vos charges de travail sur Kubernetes avant de les déployer.