Skapa och push-överföra Docker-avbildningar till Azure Container Registry med hjälp av Docker-mallar

Azure DevOps Services

I den här stegvisa självstudien får du lära dig hur du konfigurerar en pipeline för kontinuerlig integrering för att skapa ett containerbaserat program. Nya pull-begäranden utlöser pipelinen för att skapa och publicera Docker-avbildningar till Azure Container Registry.

Förutsättningar

Hämta koden

Förgrena eller klona exempelprogrammet pipeline-javascript-docker :

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

Skapa ett containerregister

  1. Logga in på Azure och välj sedan Azure Cloud Shell-knappen i det övre högra hörnet.

    Azure Cloud Shell button

  2. Kör följande kommandon för att skapa en resursgrupp och ett Azure Container Registry med hjälp av 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
    

Kommentar

Ett containerregisternamn måste vara gemener.

Du kan också använda webbgränssnittet för Azure-portalen för att skapa ditt Azure Container Registry. Mer information finns i Skapa ett containerregister .

Viktigt!

Du måste aktivera administratörsanvändarkontot för att du ska kunna distribuera en Docker-avbildning från ett Azure Container Registry. Mer information finns i Container Registry-autentisering .

Skapa pipelinen

  1. Logga in på din Azure DevOps-organisation och gå till projektet.

  2. Välj Pipelines och välj sedan Ny pipeline för att skapa en ny pipeline.

    Create a new pipeline

  3. Välj GitHub YAML och välj sedan Auktorisera Azure Pipelines för att ge rätt behörigheter för att komma åt lagringsplatsen.

  4. Du kan bli ombedd att logga in på GitHub. I så fall anger du dina GitHub-autentiseringsuppgifter och väljer sedan din lagringsplats i listan över lagringsplatser.

  5. På fliken Konfigurera väljer du uppgiften Docker – Build och push-överför en avbildning till Azure Container Registry .

    Build and push Docker images to Azure Container Registry

  6. Välj din Azure-prenumeration och välj sedan Fortsätt.

  7. Välj containerregistret på den nedrullningsbara menyn och ange sedan ett avbildningsnamn för containeravbildningen.

  8. Välj Verifiera och konfigurera när du är klar.

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

    När Azure Pipelines skapar din pipeline kommer den att:

    • Skapa en Docker-registertjänstanslutning för att aktivera din pipeline för att skicka avbildningar till containerregistret.

    • Generera en azure-pipelines.yml-fil som definierar din pipeline.

  9. Granska yaml-pipelinen och välj sedan Spara och kör när du är klar.

    Review your pipeline, save & run

  10. Lägg till ett incheckningsmeddelande och välj sedan Spara och kör för att checka in ändringarna och köra pipelinen.

  11. När pipelinen körs väljer du byggjobbet för att se hur din pipeline fungerar.

    Monitor builds

Hur vi skapar din pipeline

Pipelinen som vi nyss skapade i föregående avsnitt genererades från Docker-containermallen YAML. Byggfasen använder Docker-uppgiftenDocker@2 för att skapa och push-överföra Docker-avbildningen till containerregistret.

- 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)

Rensa resurser

Om du inte kommer att fortsätta att använda det här programmet kan du ta bort de resurser som du skapade i den här självstudien för att undvika löpande avgifter. Kör följande för att ta bort resursgruppen.

az group delete --name myapp-rg