Sdílet prostřednictvím


Použití Docker YAML k sestavení a nasdílení imagí Dockeru do služby Azure Container Registry

Služby Azure DevOps

V tomto kurzu se dozvíte, jak pomocí kanálu založeného na šabloně Dockeru Azure Pipelines sestavit kontejnerizovanou aplikaci a odeslat ji do služby Azure Container Registry. Šablona nastaví kanál YAML kontinuální integrace, kde nové úložiště kódu aktivuje kanál pro sestavení a publikování aktualizovaných imagí Dockeru do registru.

Kanál šablony kontejneru Dockeru používá agenty hostované Microsoftem a vytvoří připojení služby založené na instančním objektu ke službě Azure Container Registry. Kanál, který provádí podobný proces pomocí agentů v místním prostředí a připojení služby, které vytvoříte sami, najdete v tématu Sestavení a nasdílení imagí Dockeru do služby Azure Container Registry.

Požadavky

  • Účet Azure, ve kterém máte oprávnění vytvářet a konfigurovat prostředky. Pokud nemáte účet Azure, zaregistrujte si bezplatný účet.

  • Organizace a projekt Azure DevOps, kde máte oprávnění vytvářet kanály a nasazovat aplikace. Pokud chcete vytvořit organizaci nebo projekt, přečtěte si téma Vytvoření nové organizace nebo vytvoření projektu v Azure DevOps.

  • Účet GitHub.

    Důležité

    Při použití GitHubu v následujících postupech se může zobrazit výzva k vytvoření připojení ke službě GitHub, přihlášení k GitHubu, ověření v organizacích GitHubu, instalace Azure Pipelines nebo autorizace Azure Pipelines. Dokončete proces podle pokynů na obrazovce. Další informace najdete v tématu Přístup k úložištím GitHub.

Získání ukázkové aplikace

Na GitHubu naklonujte fork nebo naklonujte ukázkové úložiště Dockeru a Kubernetes Node.JS aplikace .

Vytvoření registru kontejneru

  1. Na webu Azure Portal se přihlaste ke službě Azure Cloud Shell výběrem ikony v horním řádku nabídek. Nezapomeňte použít prostředí Bash .

    Tlačítko Azure Cloud Shellu

  2. Spuštěním následujících příkazů v Cloud Shellu vytvořte skupinu prostředků a registr kontejnerů Azure pomocí Azure CLI. Název služby Container Registry musí být malými písmeny.

    az group create --name myapp-rg --location eastus
    az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
    
  3. Pokud chcete nasadit image Dockeru do registru kontejneru Azure, musíte pro registr povolit uživatelský účet správce, který je ve výchozím nastavení zakázaný. Pokud chcete povolit uživatele správce pro váš registr, použijte parametr --admin-enabled s příkazem az acr update . Další informace a pokyny najdete v tématu Účet správce.

    az acr update -n <acrName> --admin-enabled true
    

Případně můžete pomocí uživatelského rozhraní webu Azure Portal vytvořit registr kontejneru Azure. Pokyny najdete v tématu Vytvoření registru kontejneru. Po vytvoření registru povolte účet správce ve vlastnostech .

Vytvoření kanálu

  1. V projektu Azure DevOps vyberte Kanály>Nový kanál nebo Vytvořte kanál, pokud je tento kanál v projektu prvním kanálem.

    Snímek obrazovky znázorňující obrazovku Vytvořit nový kanál

  2. Jako umístění zdrojového kódu vyberte GitHub .

  3. Na obrazovce Vybrat úložiště vyberte úložiště s ukázkovým kódem.

  4. Na obrazovce Konfigurace kanálu vyberte Docker: Sestavení a nasdílení image do kanálu Služby Azure Container Registry.

    Snímek obrazovky znázorňující výběr kanálu Azure Container Registry pro sestavení a nasdílení změn image Dockeru

  5. Na obrazovce Dockeru vyberte své předplatné Azure a pak vyberte Pokračovat.

  6. V rozevírací nabídce vyberte registr kontejneru, zadejte název image a pak vyberte Ověřit a nakonfigurovat.

    Snímek obrazovky znázorňující, jak nakonfigurovat kanál Dockeru pro sestavení a publikování image do služby Azure Container Registry

    Azure Pipelines vygeneruje azure-pipelines.yml soubor, který definuje váš kanál.

  7. Zkontrolujte kód v azure-pipelines.yml a pak vyberte Uložit a spustit.

    Snímek obrazovky s tlačítkem Uložit a spustit v novém kanálu YAML

  8. Volitelně můžete upravit zprávu Potvrzení a zadat popis. Potom vyberte Uložit a spusťte znovu, aby se soubor azure-pipelines.yml uložil do úložiště a spustil sestavení.

  9. Na stránce spuštění sestavení se zobrazují podrobnosti o sestavení a průběh. Pokud chcete sledovat kanál v akci, vyberte Možnost Sestavit v části Úlohy.

    Snímek obrazovky znázorňující odkaz Sestavení na stránce spuštění úlohy

Podrobnosti kanálu

Kanál se vygeneruje ze šablony kontejneru Dockeru. Fáze sestavení používá úlohu Dockeru v2 k sestavení a nasdílení image Dockeru do registru kontejneru.

Úloha Dockeru používá připojení služby registru Dockeru s ověřováním instančního objektu, aby váš kanál mohl odesílat image do registru kontejneru. Šablona kontejneru Dockeru vygeneruje toto připojení služby při vytváření kanálu.

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

Vyčištění prostředků

Až dokončíte používání prostředků, které jste vytvořili v tomto kurzu, můžete je odstranit, abyste se vyhnuli dalším poplatkům. Spuštěním následujícího příkazu Cloud Shellu odstraňte skupinu prostředků a všechny prostředky v ní.

az group delete --name myapp-rg