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í YAML potrubí pro kontinuální integraci, kde změny v úložišti kódu zahájí potrubí pro sestavení a publikování aktualizovaných Docker obrazů 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. Pro kanál, který provádí podobný proces pomocí vlastních agentů a připojení ke službě, které vytvoříte sami, viz téma Sestavení a registrace Docker image do 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 vytvořte fork nebo naklonujte úložiště ukázkové aplikace Docker a Kubernetes Node.JS.

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řit datový kanál

  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 Configure your pipeline vyberte Docker: Sestavení a nasdílení image do Azure Container Registry.

    Snímek obrazovky, který ukazuje výběr kanálu pro sestavení a nahrání image Dockeru do Azure Container Registry.

  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. Stránka sestavení zobrazuje podrobnosti a průběh sestavení. Pokud chcete sledovat svou pipeline v akci, vyberte 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 Docker používá připojení služby registru Docker s autentizací pomocí hlavního účtu služby, aby váš kanál mohl odesílat obrazy do vašeho registru kontejnerů. Šablona kontejneru Dockeru vytvoří toto připojení ke službě při vytváření potrubí.

- 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čistěte prostředky

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