Dela via


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

  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.

    Skapa en ny 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 .

    Skapa och push-överföra Docker-avbildningar till 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.

    En skärmbild som visar hur du konfigurerar en Docker-pipeline för att skapa och publicera en avbildning i 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.

    Granska pipelinen, spara och kör

  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.

    Övervaka versioner

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-uppgiften Docker@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