Build and push Docker images to Azure Container Registry using Docker templates

Azure DevOps Services

Ebben a lépésenkénti oktatóanyagban megtudhatja, hogyan állíthat be folyamatos integrációs folyamatot egy tárolóalapú alkalmazás létrehozásához. Az új lekéréses kérelmek elindítják a folyamatot Docker-rendszerképek létrehozásához és közzétételéhez az Azure Container Registryben.

Előfeltételek

A kód letöltése

A pipeline-javascript-docker mintaalkalmazás elágazása vagy klónozása:

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

Container Registry létrehozása

  1. Jelentkezzen be az Azure-ba, majd kattintson a jobb felső sarokban található Azure Cloud Shell gombra.

    Azure Cloud Shell button

  2. Futtassa az alábbi parancsokat egy erőforráscsoport és egy Azure Container Registry létrehozásához az Azure CLI használatával.

    # 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
    

Megjegyzés:

A tárolóregisztrációs adatbázis nevének kisbetűsnek kell lennie.

Az Azure Container Registry létrehozásához használhatja az Azure Portal webes felhasználói felületét is. Részletekért tekintse meg a Tárolóregisztrációs adatbázis létrehozása című témakört .

Fontos

Engedélyeznie kell a rendszergazdai felhasználói fiókot ahhoz, hogy Docker-rendszerképet helyezzen üzembe egy Azure Container Registryből. További részletekért lásd a tárolóregisztrációs adatbázis hitelesítését .

A folyamat létrehozása

  1. Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.

  2. Válassza a Folyamatok lehetőséget, majd válassza az Új folyamat lehetőséget egy új folyamat létrehozásához.

    Create a new pipeline

  3. Válassza a GitHub YAML-et, majd válassza az Azure Pipelines engedélyezése lehetőséget az adattár eléréséhez szükséges engedélyek megadásához.

  4. Előfordulhat, hogy a rendszer arra kéri, hogy jelentkezzen be a GitHubra. Ha igen, adja meg a GitHub hitelesítő adatait, majd válassza ki az adattárat az adattárak listájából.

  5. A Konfigurálás lapon válassza a Docker – Rendszerkép létrehozása és leküldése az Azure Container Registry-feladatba.

    Build and push Docker images to Azure Container Registry

  6. Válassza ki az Azure-előfizetését, majd válassza a Folytatás lehetőséget.

  7. Válassza ki a tárolóregisztrációs adatbázist a legördülő menüből, majd adjon meg egy rendszerképnevet a tárolólemezképnek.

  8. Válassza az Ellenőrzés és konfigurálás lehetőséget, amikor elkészült.

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

    Ahogy az Azure Pipelines létrehozza a folyamatot, az a következőket fogja eredményezni:

    • Hozzon létre egy Docker-beállításjegyzék-kapcsolatot , amely lehetővé teszi, hogy a folyamat képeket küldjön a tárolóregisztrációs adatbázisba.

    • Hozzon létre egy azure-pipelines.yml fájlt, amely meghatározza a folyamatot.

  9. Tekintse át a folyamat YAML-ját, majd válassza a Mentés és futtatás lehetőséget, ha elkészült.

    Review your pipeline, save & run

  10. Adjon hozzá egy véglegesítési üzenetet, majd válassza a Mentés és futtatás lehetőséget a módosítások véglegesítéséhez és a folyamat futtatásához.

  11. A folyamat futtatásakor válassza ki a buildelési feladatot a folyamat működés közbeni megtekintéséhez.

    Monitor builds

A folyamat felépítése

Az előző szakaszban létrehozott folyamat a Docker-tárolósablon YAML-ből lett létrehozva. A buildelési fázis a Docker-feladatDocker@2 használatával hozza létre és küldi le a Docker-rendszerképet a tárolóregisztrációs adatbázisba.

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

Clean up resources

Ha nem fogja tovább használni ezt az alkalmazást, törölheti az oktatóanyagban létrehozott erőforrásokat, hogy elkerülje a folyamatban lévő díjakat. Futtassa az alábbi parancsot az erőforráscsoport törléséhez.

az group delete --name myapp-rg