Docker YAML gebruiken om Docker-installatiekopieën te bouwen en te pushen naar Azure Container Registry
Azure DevOps Services
In deze zelfstudie leert u hoe u een pijplijn gebruikt op basis van een Docker-sjabloon voor Azure Pipelines om een containertoepassing te bouwen en deze naar Azure Container Registry te pushen. Met de sjabloon wordt een YAML-pijplijn voor continue integratie ingesteld, waarbij wijzigingen in de nieuwe codeopslagplaats de pijplijn activeren om bijgewerkte Docker-installatiekopieën naar het register te bouwen en publiceren.
De Docker-containersjabloonpijplijn maakt gebruik van door Microsoft gehoste agents en maakt een service-principal-serviceverbinding met Azure Container Registry. Zie Docker-installatiekopieën bouwen en pushen naar Azure Container Registry voor een pijplijn die een vergelijkbaar proces uitvoert met behulp van zelf-hostende agents en een serviceverbinding die u zelf maakt.
Vereisten
Een Azure-account waarvoor u gemachtigd bent om resources te maken en te configureren. Als u geen Azure-account hebt, meldt u zich aan voor een gratis account.
Een Azure DevOps-organisatie en -project waar u gemachtigd bent om pijplijnen te maken en apps te implementeren. Zie Een nieuwe organisatie maken of een project maken in Azure DevOps als u een organisatie of project wilt maken.
Een GitHub-account.
Belangrijk
Wanneer u GitHub in de volgende procedures gebruikt, wordt u mogelijk gevraagd om een GitHub-serviceverbinding te maken, u aan te melden bij GitHub, te verifiëren bij GitHub-organisaties, Azure Pipelines te installeren of Azure Pipelines te autoriseren. Volg de instructies op het scherm om het proces te voltooien. Zie Toegang tot GitHub-opslagplaatsen voor meer informatie.
De voorbeeld-app downloaden
In GitHub fork of kloont u de voorbeeld-Docker en Kubernetes Node.JS app-opslagplaats .
Een containerregister maken
Meld u vanuit Azure Portal aan bij Azure Cloud Shell door het pictogram in de bovenste menubalk te selecteren. Zorg ervoor dat u de Bash-shell gebruikt.
Voer in Cloud Shell de volgende opdrachten uit om een resourcegroep en een Azure-containerregister te maken met behulp van de Azure CLI. De containerregisternaam moet kleine letters bevatten.
az group create --name myapp-rg --location eastus az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
Als u een Docker-installatiekopieën wilt implementeren in het Azure-containerregister, moet u het beheerdersaccount voor het register inschakelen. Dit is standaard uitgeschakeld. Als u de gebruiker met beheerdersrechten voor uw register wilt inschakelen, gebruikt u de
--admin-enabled
parameter met deaz acr update
opdracht. Zie Beheerdersaccount voor meer informatie en instructies.az acr update -n <acrName> --admin-enabled true
U kunt ook de gebruikersinterface van Azure Portal gebruiken om uw Azure-containerregister te maken. Zie Een containerregister maken voor instructies. Schakel het beheerdersaccount in Eigenschappen in nadat u het register hebt gemaakt.
Maak de pijplijn
Selecteer in uw Azure DevOps-project pijplijnen>een nieuwe pijplijn of maak een pijplijn als deze pijplijn de eerste is in het project.
Selecteer GitHub als de locatie van uw broncode.
Selecteer uw voorbeeldcodeopslagplaats in het scherm Een opslagplaats selecteren.
Selecteer in het scherm Uw pijplijn configureren de Docker: Een installatiekopieën bouwen en pushen naar de Azure Container Registry-pijplijn.
Selecteer uw Azure-abonnement in het Docker-scherm en selecteer vervolgens Doorgaan.
Selecteer uw containerregister in de vervolgkeuzelijst, geef een installatiekopieënnaam op en selecteer vervolgens Valideren en configureren.
Azure Pipelines genereert een azure-pipelines.yml-bestand dat uw pijplijn definieert.
Controleer de code in azure-pipelines.yml en selecteer Opslaan en uitvoeren.
Bewerk desgewenst het doorvoerbericht en geef een beschrijving op. Selecteer Vervolgens Opslaan en opnieuw uitvoeren om het azure-pipelines.yml-bestand door te voeren in uw opslagplaats en een build te starten.
Op de pagina voor het uitvoeren van de build worden details en voortgang van de build weergegeven. Als u de pijplijn in actie wilt bekijken, selecteert u Bouwen onder Taken.
Pijplijndetails
De pijplijn wordt gegenereerd op basis van de Docker-containersjabloon. In de buildfase wordt de Docker v2-taak gebruikt om uw Docker-installatiekopieën te bouwen en naar het containerregister te pushen.
De Docker-taak maakt gebruik van een Docker-registerserviceverbinding met service-principal-verificatie om uw pijplijn in staat te stellen installatiekopieën naar uw containerregister te pushen. De Docker-containersjabloon genereert deze serviceverbinding wanneer deze de pijplijn maakt.
- 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)
Resources opschonen
Wanneer u klaar bent met het gebruik van de resources die u in deze zelfstudie hebt gemaakt, kunt u ze verwijderen om verdere kosten te voorkomen. Voer de volgende Cloud Shell-opdracht uit om uw resourcegroep en alle resources erin te verwijderen.
az group delete --name myapp-rg