Générer et envoyer (push) des images Docker à Azure Container Registry à l’aide de modèles Docker
Azure DevOps Services
Dans ce tutoriel pas à pas, vous allez apprendre à configurer un pipeline d’intégration continue pour créer une application conteneurisée. Les nouvelles demandes de tirage (pull request) déclenchent le pipeline pour générer et publier des images Docker sur Azure Container Registry.
Prérequis
Un compte GitHub. Créer un compte GitHub gratuit si vous n’en avez pas déjà.
Une organisation Azure DevOps et un projet. Créez une organisation et/ou un nouveau projet, si vous n’en avez pas encore.
Un compte Azure. Inscrivez-vous à un compte Azure gratuit, si vous n’en avez pas déjà un.
Obtenir le code
Dupliquez ou clonez l’exemple d’application pipeline-javascript-docker :
https://github.com/MicrosoftDocs/pipelines-javascript-docker
Créer un registre de conteneur
Connectez-vous à Azure, puis sélectionnez le bouton Azure Cloud Shell dans le coin supérieur droit.
Exécutez les commandes suivantes pour créer un groupe de ressources et un Azure Container Registry à l’aide de l’interface de ligne de commande Azure.
# Create a resource group az group create --name myapp-rg --location eastus # Create a container registry az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
Notes
Un nom Container Registry doit être en minuscules.
Vous pouvez également utiliser l’interface utilisateur web du portail Azure pour créer votre Azure Container Registry. Pour plus d’informations, consultez Créer un registre de conteneurs.
Important
Vous devez activer le compte d’utilisateur administrateur pour déployer une image Docker à partir d’un Azure Container Registry. Pour plus d’informations, consultez Authentification du registre de conteneurs.
Créer le pipeline
Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.
Sélectionnez Pipelines, puis Nouveau pipeline pour créer un pipeline.
Sélectionnez GitHub YAML, puis Autoriser Azure Pipelines à fournir les autorisations appropriées pour accéder à votre référentiel.
Vous serez peut-être invité à vous connecter à GitHub. Si c’est le cas, entrez vos informations d’identification GitHub, puis sélectionnez votre référentiel dans la liste des référentiels.
Sous l’onglet Configurer, sélectionnez la tâcheDocker – Générer et envoyer (push) une image à Azure Container Registry.
Sélectionnez votre abonnement Azure, puis sélectionnez Continuer.
Sélectionnez votre registre de conteneurs dans le menu déroulant, puis fournissez un nom d’image à votre image conteneur.
Sélectionnez Valider et configurer lorsque vous avez terminé.
À mesure qu’Azure Pipelines crée votre pipeline, le processus va effectuer les opérations suivants :
Créer une connexion de service de registre Docker pour permettre à votre pipeline d’envoyer (push) des images à votre registre de conteneurs.
Générer un fichier azure-pipelines.yml, qui définit votre pipeline.
Passez en revue votre pipeline YAML, puis sélectionnez Enregistrer et exécuter lorsque vous êtes prêt.
Ajoutez un message de validation, puis sélectionnez Enregistrer et exécuter pour valider vos modifications et exécuter votre pipeline.
Lorsque votre pipeline s’exécute, sélectionnez le travail de génération pour voir votre pipeline en action.
Comment nous créons votre pipeline
Le pipeline que nous venons de créer dans la section précédente a été généré à partir du YAML du modèle de conteneur Docker. La phase de génération utilise la tâche DockerDocker@2
pour générer et envoyer (push) votre image Docker au registre de conteneurs.
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build job
pool:
vmImage: $(vmImageName)
steps:
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryServiceConnection)
tags: |
$(tag)
Nettoyer les ressources
Si vous n’envisagez pas de continuer à utiliser cette application, vous pouvez supprimer les ressources que vous avez créées dans ce didacticiel pour éviter d’entraîner des frais en cours. Exécutez ce qui suit pour supprimer votre groupe de ressources.
az group delete --name myapp-rg
Articles connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour