Événements
Créer des applications intelligentes
17 mars, 23 h - 21 mars, 23 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Azure DevOps Services
Cet article vous guide tout au long de la création d’un pipeline pour générer et envoyer (push) une image Docker vers azure Container Registry ou Docker Hub.
Produit | Exigences |
---|---|
Azure DevOps | - Un projet Azure DevOps. - Autorisations : - Pour accorder l’accès à tous les pipelines du projet : vous devez être membre du Project Administrators group. - Pour créer des connexions de service : vous devez disposer du rôle Administrator ou Creator pour service connections. - Si vous utilisez un agent auto-hébergé, assurez-vous que Docker est installé et que le moteur Docker fonctionne avec des privilèges élevés. Les agents hébergés par Microsoft ont Préinstallé Docker. |
GitHub | - Un compte GitHub. - Un référentiel GitHub contenant un Dockerfile. Utilisez l’exemple de référentiel si vous n’avez pas votre propre projet. - Une connexion de service GitHub pour autoriser Azure Pipelines. |
Azure | - Un abonnement Azure - Un Azure Container Registry. |
Produit | Exigences |
---|---|
Azure DevOps | - Un projet Azure DevOps. - Autorisations : - Pour accorder l’accès à tous les pipelines du projet : vous devez être membre du Project Administrators group. - Pour créer des connexions de service : vous devez disposer du rôle Administrator ou Creator pour service connections. - Si vous utilisez un agent auto-hébergé, assurez-vous que Docker est installé et que le moteur Docker fonctionne avec des privilèges élevés. Les agents hébergés par Microsoft ont Préinstallé Docker. |
GitHub | - Un compte GitHub. - Un référentiel GitHub contenant un Dockerfile. Utilisez l’exemple de référentiel si vous n’avez pas votre propre projet. - Une connexion de service GitHub pour autoriser Azure Pipelines. |
Docker Hub | - Un compte Docker Hub. - Un référentiel d'image Docker Hub . |
Avant d’envoyer (push) des images conteneur à un registre, vous devez créer une connexion de service dans Azure DevOps. Cette connexion de service stocke les informations d’identification requises pour s’authentifier en toute sécurité auprès du registre de conteneurs. Pour plus d’informations, veuillez consulter la section connexions de service Docker Registry.
Dans votre projet Azure DevOps, sélectionnez paramètres de projet>connexions de service.
Sélectionnez nouvelle connexion de service et Registre Docker.
Sélectionnez Docker Hub et entrez les informations suivantes :
Champ | Description |
---|---|
Docker ID | Entrez votre ID Docker. |
Mot de passe Docker | Entrez votre mot de passe Docker. |
nom de connexion de service | Entrez un nom pour la connexion de service. |
Accorder l’autorisation d’accès à tous les pipelines | Sélectionnez cette option pour accorder l’accès à tous les pipelines. |
Sélectionnez Vérifier et enregistrer.
La tâche Docker@2 est utilisée pour générer et envoyer (push) l’image au registre de conteneurs. La tâche Docker@2 est conçue pour simplifier le processus de génération, d’envoi (push) et de gestion des images Docker au sein de vos pipelines Azure. Cette tâche prend en charge un large éventail de commandes Docker, notamment la génération, l’envoi (push), la connexion, la déconnexion, le démarrage, l’arrêt et l’exécution.
Procédez comme ceci pour créer un pipeline YAML qui utilise la tâche Docker@2 afin de générer l’image et de la transférer.
Dans votre projet Azure DevOps, sélectionnez Pipelines puis New pipeline.
Sélectionnez GitHub comme emplacement pour votre code source et sélectionnez votre référentiel.
Sélectionnez votre dépôt.
Sélectionnez le modèle de pipeline Starter pour créer une configuration de pipeline de base.
Remplacez le contenu de azure-pipelines.yml par le code suivant :
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
variables:
repositoryName: '<target repository name>'
steps:
- task: Docker@2
inputs:
containerRegistry: '<docker registry service connection>'
repository: $(repositoryName)
command: 'buildAndPush'
Dockerfile: '**/Dockerfile'
Modifiez le fichier YAML du pipeline comme suit :
<target repository name>
par le nom du référentiel dans le registre de conteneurs dans lequel vous souhaitez envoyer (push) l’image.<docker registry service connection>
par le nom de la connexion de service du registre Docker que vous avez créée précédemment.Lorsque vous avez terminé, sélectionnez Enregistrer et exécuter>Enregistrer et exécuter.
Sélectionnez Job pour afficher les journaux et vérifier que le pipeline s’est exécuté avec succès.
Rendez-vous dans votre projet Azure DevOps et sélectionnez Pipelines dans le menu de gauche.
Sélectionnez Nouveau pipeline.
Sélectionnez GitHub comme emplacement pour votre code source et sélectionnez votre référentiel.
Sélectionnez le modèle Docker - Construire et envoyer une image à Azure Container Registry.
Sélectionnez votre abonnement Azure et Continue.
Sélectionnez votre Container Registry, puis sélectionnez Validate and configure.
Exemple de pipeline YAML :
# Docker
# Build and push an image to Azure Container Registry
# https://docs.microsoft.com/azure/devops/pipelines/languages/docker
trigger:
- main
resources:
- repo: self
variables:
# Container registry service connection established during pipeline creation
dockerRegistryServiceConnection: '7f9dc28e-5551-43ee-891f-33bf61a995de'
imageRepository: 'usernamepipelinesjavascriptdocker'
containerRegistry: 'repoistoryname.azurecr.io'
dockerfilePath: '$(Build.SourcesDirectory)/app/Dockerfile'
tag: '$(Build.BuildId)'
# Agent VM image name
vmImageName: 'ubuntu-latest'
stages:
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build
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)
Sélectionnez Enregistrer et exécuter et Enregistrer et réexécuter.
Sélectionnez la tâche pour afficher les logs et vérifier que le pipeline s’est exécuté correctement.
Le modèle Docker crée la connexion de service à votre Registre de conteneurs Azure et utilise la tâche de Docker@2 pour générer et envoyer (push) l’image Docker au registre.
La tâche Docker@2 est conçue pour simplifier le processus de génération, d’envoi (push) et de gestion des images Docker au sein de vos pipelines Azure. Cette tâche prend en charge un large éventail de commandes Docker, notamment la génération, l’envoi (push), la connexion, la déconnexion, le démarrage, l’arrêt et l’exécution.
Lorsque vous utilisez des agents auto-hébergés, assurez-vous que Docker est installé sur l’hôte de l’agent et que le moteur/démon Docker s’exécute avec des privilèges élevés.
Événements
Créer des applications intelligentes
17 mars, 23 h - 21 mars, 23 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Module
Automatiser les déploiements de conteneurs Docker avec Azure Pipelines - Training
Utilisez Azure Pipelines pour déployer des conteneurs Docker sur Azure App Service.
Certification
Microsoft Certified : DevOps Engineer Expert - Certifications
Cette certification mesure votre capacité à réaliser les tâches techniques suivantes : Concevoir et implémenter des processus et des communications, concevoir et implémenter une stratégie de contrôle de code source, concevoir et implémenter des pipelines de build et de mise en production, développer un plan de sécurité et de conformité et implémenter une stratégie d’instrumentation.
Documentation
Utilisez un modèle Docker d’Azure Pipelines pour créer un pipeline YAML qui compile et pousse une image Docker vers Azure Container Registry.
Générer des images conteneur pour déployer des applications - Azure Pipelines
Générer des images conteneur Linux ou Windows pour le déploiement d’applications à l’aide d’Azure Pipelines.
Générez ou envoyez (push) des images Docker, connectez-vous ou déconnectez-vous, démarrez ou arrêtez des conteneurs, ou exécutez une commande Docker.