Použití Azure Pipelines k vytváření a nabízení imagí kontejnerů do registrů
Článek
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Tento článek vás provede nastavením a konfigurací pro použití Služby Azure Pipelines k sestavení a nasdílení image Dockeru do služby Azure Container Registry, Docker Hubu a služby Google Artifact Registry. Kromě toho podrobně popisuje použití zabezpečeného System.AccessToken ověřování v rámci kanálu.
Tento článek vás provede nastavením a konfigurací pro použití Služby Azure Pipelines k sestavení a nasdílení image Dockeru do Centra Dockeru a registru artefaktů Google. Kromě toho podrobně popisuje použití zabezpečeného System.AccessToken ověřování v rámci kanálu.
Dozvíte se, jak vytvořit kanál YAML pro sestavení a nasdílení image Dockeru do registru kontejneru. Úloha Docker@2 slouží k sestavení a nasdílení image do registru kontejneru.
Požadavky
Projekt Azure DevOps.
Registr kontejneru (Docker Hub, Google Artifact Registry nebo Azure Container Registry).
Docker. Pokud používáte agenta v místním prostředí, ujistěte se, že je nainstalovaný Docker a že je spuštěný modul Docker se zvýšenými oprávněními. Agenti hostovaní Microsoftem mají předinstalovaný Docker.
Projekt Azure DevOps.
Registr kontejneru (Docker Hub nebo Google Artifact Registry).
Docker. Pokud používáte agenta v místním prostředí, ujistěte se, že je nainstalovaný Docker a že je spuštěný modul Docker se zvýšenými oprávněními. Agenti hostovaní Microsoftem mají předinstalovaný Docker.
Vytvoření připojení služby Dockeru
Před nasdílením imagí kontejneru do registru je potřeba vytvořit připojení služby v Azure DevOps. Toto připojení služby ukládá přihlašovací údaje potřebné k bezpečnému ověření v registru kontejneru. Přejděte na stránku Připojení služby v projektu Azure DevOps a vytvořte nové připojení služby a vyberte typ připojení registru Dockeru.
Existují různé procesy pro vytvoření připojení služby pro Docker Hub a Registr artefaktů Google.
Nasdílením image Dockeru do služby Azure Container Registry se v Azure DevOps Serveru nepodporuje.
Vytvoření připojení služby Docker přidružené ke službě Google Artifact Registry:
Otevřete projekt v konzole Google Cloud Platform (GCP) a pak otevřete Cloud Shell.
Pokud chcete ušetřit čas zadáním ID projektu a možností zóny výpočetního stroje, nastavte výchozí hodnoty konfigurace spuštěním následujících příkazů:
gcloud config set project [PROJECT_NAME]
gcloud config set compute/zone [ZONE]
Nahraďte [PROJECT_NAME] názvem projektu GCP a nahraďte [ZONE] názvem zóny, kterou budete používat k vytváření prostředků. Pokud si nejste jisti, kterou zónu vybrat, použijte us-central1-a. Příklad:
gcloud config set project azure-pipelines-test-project-12345
gcloud config set compute/zone us-central1-a
Povolte rozhraní API služby Artifact Registry pro váš projekt:
Úloha Docker@2 je navržená tak, aby zjednodušila proces sestavování, nabízení a správy imagí Dockeru v rámci azure Pipelines. Tato úloha podporuje širokou škálu příkazů Dockeru, včetně sestavení, nasdílení změn, přihlášení, odhlášení, spuštění, zastavení a spuštění.
Následující kroky popisují, jak vytvořit kanál YAML, který používá úlohu Docker@2 k sestavení a nasdílení image.
Přejděte do projektu Azure DevOps a v nabídce vlevo vyberte Kanály .
Vyberte Nový kanál a vytvořte nový kanál.
Jako umístění zdrojového kódu vyberte GitHub nebo GitHub Enterprise Server .
Pokud jste to ještě neudělali, povolte Azure Pipelines připojení k vašemu účtu GitHub Enterprise Serveru.
Vyberte Připojit k Serveru GitHub Enterprise.
Zadejte podrobnosti o svém účtu a pak vyberte Ověřit a uložit.
Vyberte úložiště.
Pokud jste přesměrováni na GitHub
Výběrem šablony úvodního kanálu vytvořte základní konfiguraci kanálu.
Obsah azure-pipelines.yml nahraďte následujícím kódem.
Na základě toho, jestli nasazujete aplikaci pro Linux nebo Windows, nezapomeňte vmImage nastavit buď nebo ubuntu-latestwindows-latest. Pokud používáte agenta v místním prostředí, nastavte vmImage název fondu, který obsahuje agenta v místním prostředí s funkcí Dockeru. Můžete přidat demands: docker vlastnost, abyste zajistili, že je vybraný agent s nainstalovaným Dockerem.
Nahraďte <docker connection> názvem připojení služby Docker, které jste vytvořili dříve.
Nahraďte <target repository name> názvem úložiště v registru kontejneru, do kterého chcete vložit image. Například <your-docker-hub-username>/<repository-name>.
Když soubor azure-pipelines.yml uložíte do úložiště, zobrazí se výzva k přidání potvrzovací zprávy. Zadejte zprávu a pak vyberte Uložit a spustit.
Při použití agentů v místním prostředí se ujistěte, že je Docker nainstalovaný na hostiteli agenta a že modul/démon Dockeru běží se zvýšenými oprávněními.
Aby bylo možné sestavit image, musí být Docker nainstalovaný na hostiteli agenta a modul/proces démon Dockeru musí být spuštěn se zvýšenými oprávněními. Pomocí následujících kroků vytvořte kanál pomocí editoru kanálů YAML.
Přejděte do kolekce a vytvořte projekt.
V projektu vyberte Kanály.
Vyberte Vytvořit kanál.
Jako umístění zdrojového kódu vyberte GitHub Enterprise Server .
Pokud jste to ještě neudělali, povolte Azure Pipelines připojení k vašemu účtu GitHub Enterprise Serveru.
Vyberte Připojit k Serveru GitHub Enterprise.
Zadejte podrobnosti o svém účtu a pak vyberte Ověřit a uložit.
Vyberte úložiště.
Pokud jste přesměrováni na GitHub, abyste nainstalovali aplikaci Azure Pipelines, vyberte Schválit a nainstalovat.
Pokud chcete nakonfigurovat kanál, vyberte šablonu sestavení image Dockeru.
V editoru kanálů YAML nahraďte obsah souboru YAML následujícím kódem. Nahraďte název fondu názvem fondu, který obsahuje vašeho agenta v místním prostředí, funkcí Dockeru.
Na základě toho, jestli nasazujete aplikaci pro Linux nebo Windows, nezapomeňte vmImage nastavit buď nebo ubuntu-latestwindows-latest.
Nahraďte <target repository name> názvem úložiště v registru kontejneru, do kterého chcete vložit image. Například <your-docker-hub-username>/<repository-name>.
Nahraďte <docker connection> názvem připojení služby Docker, které jste vytvořili dříve.
Úloha Docker@2 slouží k sestavení a nasdílení image do registru kontejneru.
Úloha Docker@2 je navržená tak, aby zjednodušila proces sestavování, nabízení a správy imagí Dockeru v rámci azure Pipelines. Tato úloha podporuje širokou škálu příkazů Dockeru, včetně sestavení, nasdílení změn, přihlášení, odhlášení, spuštění, zastavení a spuštění.
Následující kroky popisují, jak vytvořit kanál YAML, který používá úlohu Docker@2 k sestavení a nasdílení image.
Přejděte do projektu Azure DevOps a v nabídce vlevo vyberte Kanály .
Vyberte Nový kanál a vytvořte nový kanál.
Jako umístění zdrojového kódu vyberte GitHub nebo GitHub Enterprise Server .
Pokud jste to ještě neudělali, povolte Azure Pipelines připojení k vašemu účtu GitHub Enterprise Serveru.
Vyberte Připojit k Serveru GitHub Enterprise.
Zadejte podrobnosti o svém účtu a pak vyberte Ověřit a uložit.
Vyberte úložiště.
Výběrem šablony úvodního kanálu vytvořte základní konfiguraci kanálu.
Obsah azure-pipelines.yml nahraďte následujícím kódem.
Na základě toho, jestli nasazujete aplikaci pro Linux nebo Windows, nezapomeňte vmImage nastavit buď nebo ubuntu-latestwindows-latest. Pokud používáte agenta v místním prostředí, nastavte vmImage název fondu, který obsahuje agenta v místním prostředí s funkcí Dockeru. Můžete přidat demands: docker vlastnost, abyste zajistili, že je vybraný agent s nainstalovaným Dockerem.
Nahraďte <docker connection> názvem připojení služby Docker, které jste vytvořili dříve.
Nahraďte <target repository name> názvem úložiště v registru kontejneru, do kterého chcete vložit image. Například myregistry.azurecr.io/myimage.
Když soubor azure-pipelines.yml uložíte do úložiště, zobrazí se výzva k přidání potvrzovací zprávy. Zadejte zprávu a pak vyberte Uložit a spustit.
Při použití agentů v místním prostředí se ujistěte, že je Docker nainstalovaný na hostiteli agenta a že modul/démon Dockeru běží se zvýšenými oprávněními.
Odesílání imagí Dockeru do služby Azure Container Registry se na Azure DevOps Serveru nepodporuje.
Úloha Docker@2 je navržená tak, aby zjednodušila proces sestavování, nabízení a správy imagí Dockeru v rámci azure Pipelines. Tato úloha podporuje širokou škálu příkazů Dockeru, včetně sestavení, nasdílení změn, přihlášení, odhlášení, spuštění, zastavení a spuštění.
Následující kroky popisují, jak vytvořit kanál YAML, který používá úlohu Docker@2 k sestavení a nasdílení image.
Přejděte do projektu Azure DevOps a v nabídce vlevo vyberte Kanály .
Vyberte Nový kanál a vytvořte nový kanál.
Jako umístění zdrojového kódu vyberte GitHub nebo GitHub Enterprise Server .
Pokud jste to ještě neudělali, povolte Azure Pipelines připojení k vašemu účtu GitHub Enterprise Serveru.
Vyberte Připojit k Serveru GitHub Enterprise.
Zadejte podrobnosti o svém účtu a pak vyberte Ověřit a uložit.
Vyberte úložiště.
Výběrem šablony úvodního kanálu vytvořte základní konfiguraci kanálu.
Obsah azure-pipelines.yml nahraďte následujícím kódem.
Na základě toho, jestli nasazujete aplikaci pro Linux nebo Windows, nezapomeňte vmImage nastavit buď nebo ubuntu-latestwindows-latest. Pokud používáte agenta v místním prostředí, nastavte vmImage název fondu, který obsahuje agenta v místním prostředí s funkcí Dockeru. Můžete přidat demands: docker vlastnost, abyste zajistili, že je vybraný agent s nainstalovaným Dockerem.
Nahraďte <docker connection> názvem připojení služby Docker, které jste vytvořili dříve.
Nahraďte <target repository name> názvem úložiště v registru kontejneru, do kterého chcete vložit image. Například <your-project-id>/<your-image-name>.
Když soubor azure-pipelines.yml uložíte do úložiště, zobrazí se výzva k přidání potvrzovací zprávy. Zadejte zprávu a pak vyberte Uložit a spustit.
Při použití agentů v místním prostředí se ujistěte, že je Docker nainstalovaný na hostiteli agenta a že modul/démon Dockeru běží se zvýšenými oprávněními.
Aby bylo možné sestavit image, musí být Docker nainstalovaný na hostiteli agenta a modul/proces démon Dockeru musí být spuštěn se zvýšenými oprávněními. Pomocí následujících kroků vytvořte kanál pomocí editoru kanálů YAML.
Přejděte do kolekce a vytvořte projekt.
V projektu vyberte Kanály.
Vyberte Vytvořit kanál.
Jako umístění zdrojového kódu vyberte GitHub Enterprise Server .
Pokud jste to ještě neudělali, povolte Azure Pipelines připojení k vašemu účtu GitHub Enterprise Serveru.
Vyberte Připojit k Serveru GitHub Enterprise.
Zadejte podrobnosti o svém účtu a pak vyberte Ověřit a uložit.
Vyberte úložiště.
Pokud chcete nakonfigurovat kanál, vyberte šablonu sestavení image Dockeru.
V editoru kanálů YAML nahraďte obsah souboru YAML následujícím kódem. Nahraďte název fondu názvem fondu, který obsahuje vašeho agenta v místním prostředí, funkcí Dockeru.
Na základě toho, jestli nasazujete aplikaci pro Linux nebo Windows, nezapomeňte vmImage nastavit buď nebo ubuntu-latestwindows-latest.
Nahraďte <target repository name> názvem úložiště v registru kontejneru, do kterého chcete vložit image. Například <your-project-id>/<your-image-name>.
Nahraďte <docker connection> názvem připojení služby Docker, které jste vytvořili dříve.
Na stránce Uložit a spustit vyberte Uložit a spustit znovu.
Můžete sledovat spuštění kanálu a zobrazit protokoly, abyste viděli, jak se image Dockeru sestavuje a odesílá do registru kontejneru.
Použití System.AccessTokenu pro ověřování v úloze Docker@2
Pomocí registru kontejneru, který poskytuje Azure DevOps, můžete provést ověření pomocí registru kontejneru System.AccessToken . Tento token umožňuje zabezpečený přístup k prostředkům v rámci kanálu bez vystavení citlivých přihlašovacích údajů.
V následujícím příkladu kanálu YAML se úloha Docker@2 používá k přihlášení do registru kontejneru a nasdílení image Dockeru. Nastaví System.AccessToken se jako proměnná prostředí pro ověření příkazů Dockeru.
Nahraďte <docker connection> názvem připojení služby registru Dockeru.
Nahraďte <your repository> názvem vašeho úložiště Dockeru.