Docker-installatiekopieën bouwen en pushen naar Azure Container Registry met behulp van Docker-sjablonen

Azure DevOps Services

In deze stapsgewijze zelfstudie leert u hoe u een pijplijn voor continue integratie instelt om een containertoepassing te bouwen. Nieuwe pull-aanvragen activeren de pijplijn voor het bouwen en publiceren van Docker-installatiekopieën naar Azure Container Registry.

Vereisten

Code ophalen

Fork of kloon de voorbeeldtoepassing pipeline-javascript-docker :

https://github.com/MicrosoftDocs/pipelines-javascript-docker

Een containerregister maken

  1. Meld u aan bij Azure en selecteer vervolgens de knop Azure Cloud Shell in de rechterbovenhoek.

    Azure Cloud Shell button

  2. Voer de volgende opdrachten uit om een resourcegroep en een Azure Container Registry te maken met behulp van de Azure CLI.

    # 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
    

Notitie

Een containerregisternaam moet kleine letters bevatten.

U kunt ook de webgebruikersinterface van Azure Portal gebruiken om uw Azure Container Registry te maken. Zie het containerregister maken voor meer informatie.

Belangrijk

U moet het gebruikersaccount van de beheerder inschakelen om een Docker-installatiekopieën te implementeren vanuit een Azure Container Registry. Zie containerregisterverificatie voor meer informatie.

Maak de pijplijn

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer naar uw project.

  2. Selecteer Pijplijnen en selecteer vervolgens Nieuwe pijplijn om een nieuwe pijplijn te maken.

    Create a new pipeline

  3. Selecteer GitHub YAML en selecteer Vervolgens Azure Pipelines autoriseren om de juiste machtigingen te bieden voor toegang tot uw opslagplaats.

  4. Mogelijk wordt u gevraagd u aan te melden bij GitHub. Zo ja, voer uw GitHub-referenties in en selecteer vervolgens uw opslagplaats in de lijst met opslagplaatsen.

  5. Selecteer op het tabblad Configureren de Docker - Een installatiekopieën bouwen en pushen naar de Azure Container Registry-taak .

    Build and push Docker images to Azure Container Registry

  6. Selecteer uw Azure-abonnement en selecteer vervolgens Doorgaan.

  7. Selecteer uw containerregister in de vervolgkeuzelijst en geef vervolgens een installatiekopieënnaam op voor de containerinstallatiekopieën.

  8. Selecteer Valideren en configureren wanneer u klaar bent.

    A screenshot showing how to configure a docker pipeline to build and publish an image to Azure Container Registry

    Wanneer Azure Pipelines uw pijplijn maakt, gebeurt het volgende:

    • Maak een Docker-registerserviceverbinding om uw pijplijn in staat te stellen installatiekopieën naar uw containerregister te pushen.

    • Genereer een azure-pipelines.yml-bestand , waarmee uw pijplijn wordt gedefinieerd.

  9. Controleer de YAML van uw pijplijn en selecteer Opslaan en uitvoeren wanneer u klaar bent.

    Review your pipeline, save & run

  10. Voeg een doorvoerbericht toe en selecteer Opslaan en uitvoeren om uw wijzigingen door te voeren en uw pijplijn uit te voeren.

  11. Wanneer uw pijplijn wordt uitgevoerd, selecteert u de buildtaak om uw pijplijn in actie te bekijken.

    Monitor builds

Hoe we uw pijplijn bouwen

De pijplijn die we zojuist in de vorige sectie hebben gemaakt, is gegenereerd op basis van de YAML van de Docker-containersjabloon . In de buildfase wordt de Docker-taakDocker@2 gebruikt om uw Docker-installatiekopieën te bouwen en naar het containerregister te pushen.

- 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

Als u deze toepassing niet wilt blijven gebruiken, kunt u de resources verwijderen die u in deze zelfstudie hebt gemaakt om lopende kosten te voorkomen. Voer het volgende uit om uw resourcegroep te verwijderen.

az group delete --name myapp-rg