Azure Pipelines gebruiken om containerinstallatiekopieën te bouwen en te pushen naar registers
Artikel
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
In dit artikel wordt u begeleid bij de installatie en configuratie voor het gebruik van Azure Pipelines voor het bouwen en pushen van een Docker-installatiekopieën naar een Azure Container Registry, Docker Hub en Google Artifact Registry. Daarnaast wordt het gebruik van het System.AccessToken voor beveiligde verificatie in uw pijplijn gebruikt.
In dit artikel wordt u begeleid bij de installatie en configuratie voor het gebruik van Azure Pipelines om een Docker-installatiekopieën te bouwen en te pushen naar een Docker Hub en Google Artifact Registry. Daarnaast wordt het gebruik van het System.AccessToken voor beveiligde verificatie in uw pijplijn gebruikt.
U leert hoe u een YAML-pijplijn maakt om een Docker-installatiekopieën te bouwen en naar een containerregister te pushen. De Docker@2 taak wordt gebruikt om de installatiekopieën te bouwen en naar het containerregister te pushen.
Vereisten
Een Azure DevOps-project.
Een containerregister (Docker Hub, Google Artifact Registry of Azure Container Registry).
Een GitHub-opslagplaats met een Dockerfile. Als u geen voorbeeldopslagplaats hebt, kunt u de voorbeeldopslagplaats in uw browser gebruiken, naar de voorbeeldopslagplaats gaan en deze vervolgens splitsen in uw GitHub-account.
Docker. Als u een zelf-hostende agent gebruikt, controleert u of Docker is geïnstalleerd en of de Docker-engine wordt uitgevoerd met verhoogde bevoegdheden. Door Microsoft gehoste agents hebben Docker vooraf geïnstalleerd.
Een Azure DevOps-project.
Een containerregister (Docker Hub of Google Artifact Registry).
Een GitHub-opslagplaats met een Dockerfile. Als u geen voorbeeldopslagplaats hebt, kunt u de voorbeeldopslagplaats in uw browser gebruiken, naar de voorbeeldopslagplaats gaan en deze vervolgens splitsen in uw GitHub-account.
Docker. Als u een zelf-hostende agent gebruikt, controleert u of Docker is geïnstalleerd en of de Docker-engine wordt uitgevoerd met verhoogde bevoegdheden. Door Microsoft gehoste agents hebben Docker vooraf geïnstalleerd.
Een Docker-serviceverbinding maken
Voordat u containerinstallatiekopieën naar een register pusht, moet u een serviceverbinding maken in Azure DevOps. Met deze serviceverbinding worden de referenties opgeslagen die vereist zijn om veilig te verifiëren met het containerregister. Ga naar de pagina Serviceverbindingen in uw Azure DevOps-project om een nieuwe serviceverbinding te maken en selecteer het verbindingstype Docker Registry .
Er zijn verschillende processen voor het maken van een serviceverbinding voor een Docker Hub en een Google Artifact Registry.
Kies de optie Docker Hub onder de docker-registerserviceverbinding en geef uw gebruikersnaam en wachtwoord op om een Docker-serviceverbinding te maken.
Kies de optie Azure Container Registry onder de docker-registerserviceverbinding en geef de informatie op die is vereist voor de verificatiemethode die u kiest.
Het pushen van een Docker-installatiekopieën naar Azure Container Registry wordt niet ondersteund in Azure DevOps Server.
Een Docker-serviceverbinding maken die is gekoppeld aan Google Artifact Registry:
Open uw project in de GCP-console (Google Cloud Platform) en open vervolgens Cloud Shell
Als u tijd wilt besparen bij het typen van de project-id en de zoneopties voor compute-engine, stelt u standaardconfiguratiewaarden in door de volgende opdrachten uit te voeren:
gcloud config set project [PROJECT_NAME]
gcloud config set compute/zone [ZONE]
Vervang [PROJECT_NAME] door de naam van uw GCP-project en vervang deze door [ZONE] de naam van de zone die u gaat gebruiken voor het maken van resources. Als u niet zeker weet welke zone u moet kiezen, gebruikt u us-central1-a. Voorbeeld:
gcloud config set project azure-pipelines-test-project-12345
gcloud config set compute/zone us-central1-a
Schakel de Artefact Registry-API in voor uw project:
De Docker@2 taak is ontworpen om het proces van het bouwen, pushen en beheren van Docker-installatiekopieën binnen uw Azure Pipelines te stroomlijnen. Deze taak ondersteunt een breed scala aan Docker-opdrachten, waaronder bouwen, pushen, aanmelden, afmelden, starten, stoppen en uitvoeren.
In de volgende stappen wordt beschreven hoe u een YAML-pijplijn maakt die gebruikmaakt van de Docker@2 taak om de installatiekopieën te bouwen en te pushen.
Navigeer naar uw Azure DevOps-project en selecteer Pijplijnen in het menu aan de linkerkant.
Selecteer Nieuwe pijplijn om een nieuwe pijplijn te maken.
Selecteer GitHub of GitHub Enterprise Server als de locatie voor uw broncode.
Als u dat nog niet hebt gedaan, autoriseert u Azure Pipelines om verbinding te maken met uw GitHub Enterprise Server-account.
Selecteer Verbinding maken met GitHub Enterprise Server.
Voer uw accountgegevens in en selecteer Verifiëren en opslaan.
Selecteer uw opslagplaats.
Als u wordt omgeleid naar GitHub
Selecteer de Starter-pijplijnsjabloon om een basispijplijnconfiguratie te maken.
Vervang de inhoud van azure-pipelines.yml door de volgende code.
Op basis van of u een Linux- of Windows-app implementeert, moet u ervoor zorgen dat deze respectievelijk zijn ingesteld vmImage op of ubuntu-latestwindows-latest. Als u een zelf-hostende agent gebruikt, stelt u vmImage deze in op de naam van de pool die de zelf-hostende agent bevat met Docker-functionaliteit. U kunt de demands: docker eigenschap toevoegen om ervoor te zorgen dat een agent waarop Docker is geïnstalleerd, is geselecteerd.
Vervang <docker connection> door de naam van de Docker-serviceverbinding die u eerder hebt gemaakt.
Vervang <target repository name> door de naam van de opslagplaats in het containerregister waar u de installatiekopieën wilt pushen. Bijvoorbeeld: <your-docker-hub-username>/<repository-name>.
Wanneer u klaar bent, selecteert u Opslaan en uitvoeren.
Wanneer u het azure-pipelines.yml-bestand opslaat in uw opslagplaats, wordt u gevraagd een doorvoeringsbericht toe te voegen. Voer een bericht in en selecteer Opslaan en uitvoeren.
Wanneer u zelf-hostende agents gebruikt, moet u ervoor zorgen dat Docker is geïnstalleerd op de host van de agent en dat de Docker-engine/daemon wordt uitgevoerd met verhoogde bevoegdheden.
Als u de installatiekopie wilt bouwen, moet Docker worden geïnstalleerd op de host van de agent en moet de Docker-engine/-daemon worden uitgevoerd met verhoogde bevoegdheden. Gebruik de volgende stappen om uw pijplijn te maken met behulp van de YAML-pijplijneditor.
Ga naar uw verzameling en maak een project.
Selecteer Pijplijnen in uw project.
Selecteer Pipeline maken.
Selecteer GitHub Enterprise Server als de locatie voor uw broncode.
Als u dat nog niet hebt gedaan, autoriseert u Azure Pipelines om verbinding te maken met uw GitHub Enterprise Server-account.
Selecteer Verbinding maken met GitHub Enterprise Server.
Voer uw accountgegevens in en selecteer Verifiëren en opslaan.
Selecteer uw opslagplaats.
Als u wordt omgeleid naar GitHub om de Azure Pipelines-app te installeren, selecteert u Goedkeuren en installeren.
Als u uw pijplijn wilt configureren, selecteert u de sjabloon een Docker-installatiekopieën bouwen.
Vervang in de YAML-pijplijneditor de inhoud van het YAML-bestand door de volgende code. Vervang de naam van de pool door de naam van de pool die uw zelf-hostende agent bevat door docker-functionaliteit.
Op basis van of u een Linux- of Windows-app implementeert, moet u ervoor zorgen dat deze respectievelijk zijn ingesteld vmImage op of ubuntu-latestwindows-latest.
Vervang <target repository name> door de naam van de opslagplaats in het containerregister waar u de installatiekopieën wilt pushen. Bijvoorbeeld: <your-docker-hub-username>/<repository-name>.
Vervang <docker connection> door de naam van de Docker-serviceverbinding die u eerder hebt gemaakt.
Selecteer Opslaan en opnieuw uitvoeren op de pagina Opslaan en uitvoeren.
U kunt de pijplijnuitvoering bekijken en de logboeken bekijken om te zien hoe de Docker-installatiekopie wordt gebouwd en naar het containerregister wordt gepusht.
De Docker@2 taak wordt gebruikt om de installatiekopieën te bouwen en naar het containerregister te pushen.
De Docker@2 taak is ontworpen om het proces van het bouwen, pushen en beheren van Docker-installatiekopieën binnen uw Azure Pipelines te stroomlijnen. Deze taak ondersteunt een breed scala aan Docker-opdrachten, waaronder bouwen, pushen, aanmelden, afmelden, starten, stoppen en uitvoeren.
In de volgende stappen wordt beschreven hoe u een YAML-pijplijn maakt die gebruikmaakt van de Docker@2 taak om de installatiekopieën te bouwen en te pushen.
Navigeer naar uw Azure DevOps-project en selecteer Pijplijnen in het menu aan de linkerkant.
Selecteer Nieuwe pijplijn om een nieuwe pijplijn te maken.
Selecteer GitHub of GitHub Enterprise Server als de locatie voor uw broncode.
Als u dat nog niet hebt gedaan, autoriseert u Azure Pipelines om verbinding te maken met uw GitHub Enterprise Server-account.
Selecteer Verbinding maken met GitHub Enterprise Server.
Voer uw accountgegevens in en selecteer Verifiëren en opslaan.
Selecteer uw opslagplaats.
Selecteer de Starter-pijplijnsjabloon om een basispijplijnconfiguratie te maken.
Vervang de inhoud van azure-pipelines.yml door de volgende code.
Op basis van of u een Linux- of Windows-app implementeert, moet u ervoor zorgen dat deze respectievelijk zijn ingesteld vmImage op of ubuntu-latestwindows-latest. Als u een zelf-hostende agent gebruikt, stelt u vmImage deze in op de naam van de pool die de zelf-hostende agent bevat met Docker-functionaliteit. U kunt de demands: docker eigenschap toevoegen om ervoor te zorgen dat een agent waarop Docker is geïnstalleerd, is geselecteerd.
Vervang <docker connection> door de naam van de Docker-serviceverbinding die u eerder hebt gemaakt.
Vervang <target repository name> door de naam van de opslagplaats in het containerregister waar u de installatiekopieën wilt pushen. Bijvoorbeeld: myregistry.azurecr.io/myimage.
Wanneer u klaar bent, selecteert u Opslaan en uitvoeren.
Wanneer u het azure-pipelines.yml-bestand opslaat in uw opslagplaats, wordt u gevraagd een doorvoeringsbericht toe te voegen. Voer een bericht in en selecteer Opslaan en uitvoeren.
Wanneer u zelf-hostende agents gebruikt, moet u ervoor zorgen dat Docker is geïnstalleerd op de host van de agent en dat de Docker-engine/daemon wordt uitgevoerd met verhoogde bevoegdheden.
Het pushen van docker-installatiekopieën naar Azure Container Registry wordt niet ondersteund in Azure DevOps Server.
De Docker@2 taak is ontworpen om het proces van het bouwen, pushen en beheren van Docker-installatiekopieën binnen uw Azure Pipelines te stroomlijnen. Deze taak ondersteunt een breed scala aan Docker-opdrachten, waaronder bouwen, pushen, aanmelden, afmelden, starten, stoppen en uitvoeren.
In de volgende stappen wordt beschreven hoe u een YAML-pijplijn maakt die gebruikmaakt van de Docker@2 taak om de installatiekopieën te bouwen en te pushen.
Navigeer naar uw Azure DevOps-project en selecteer Pijplijnen in het menu aan de linkerkant.
Selecteer Nieuwe pijplijn om een nieuwe pijplijn te maken.
Selecteer GitHub of GitHub Enterprise Server als de locatie voor uw broncode.
Als u dat nog niet hebt gedaan, autoriseert u Azure Pipelines om verbinding te maken met uw GitHub Enterprise Server-account.
Selecteer Verbinding maken met GitHub Enterprise Server.
Voer uw accountgegevens in en selecteer Verifiëren en opslaan.
Selecteer uw opslagplaats.
Selecteer de Starter-pijplijnsjabloon om een basispijplijnconfiguratie te maken.
Vervang de inhoud van azure-pipelines.yml door de volgende code.
Op basis van of u een Linux- of Windows-app implementeert, moet u ervoor zorgen dat deze respectievelijk zijn ingesteld vmImage op of ubuntu-latestwindows-latest. Als u een zelf-hostende agent gebruikt, stelt u vmImage deze in op de naam van de pool die de zelf-hostende agent bevat met Docker-functionaliteit. U kunt de demands: docker eigenschap toevoegen om ervoor te zorgen dat een agent waarop Docker is geïnstalleerd, is geselecteerd.
Vervang <docker connection> door de naam van de Docker-serviceverbinding die u eerder hebt gemaakt.
Vervang <target repository name> door de naam van de opslagplaats in het containerregister waar u de installatiekopieën wilt pushen. Bijvoorbeeld: <your-project-id>/<your-image-name>.
Wanneer u klaar bent, selecteert u Opslaan en uitvoeren.
Wanneer u het azure-pipelines.yml-bestand opslaat in uw opslagplaats, wordt u gevraagd een doorvoeringsbericht toe te voegen. Voer een bericht in en selecteer Opslaan en uitvoeren.
Wanneer u zelf-hostende agents gebruikt, moet u ervoor zorgen dat Docker is geïnstalleerd op de host van de agent en dat de Docker-engine/daemon wordt uitgevoerd met verhoogde bevoegdheden.
Als u de installatiekopie wilt bouwen, moet Docker worden geïnstalleerd op de host van de agent en moet de Docker-engine/-daemon worden uitgevoerd met verhoogde bevoegdheden. Gebruik de volgende stappen om uw pijplijn te maken met behulp van de YAML-pijplijneditor.
Ga naar uw verzameling en maak een project.
Selecteer Pijplijnen in uw project.
Selecteer Pipeline maken.
Selecteer GitHub Enterprise Server als de locatie voor uw broncode.
Als u dat nog niet hebt gedaan, autoriseert u Azure Pipelines om verbinding te maken met uw GitHub Enterprise Server-account.
Selecteer Verbinding maken met GitHub Enterprise Server.
Voer uw accountgegevens in en selecteer Verifiëren en opslaan.
Selecteer uw opslagplaats.
Als u uw pijplijn wilt configureren, selecteert u de sjabloon een Docker-installatiekopieën bouwen.
Vervang in de YAML-pijplijneditor de inhoud van het YAML-bestand door de volgende code. Vervang de naam van de pool door de naam van de pool die uw zelf-hostende agent bevat door docker-functionaliteit.
Op basis van of u een Linux- of Windows-app implementeert, moet u ervoor zorgen dat deze respectievelijk zijn ingesteld vmImage op of ubuntu-latestwindows-latest.
Vervang <target repository name> door de naam van de opslagplaats in het containerregister waar u de installatiekopieën wilt pushen. Bijvoorbeeld: <your-project-id>/<your-image-name>.
Vervang <docker connection> door de naam van de Docker-serviceverbinding die u eerder hebt gemaakt.
Selecteer Opslaan en opnieuw uitvoeren op de pagina Opslaan en uitvoeren.
U kunt de pijplijnuitvoering bekijken en de logboeken bekijken om te zien hoe de Docker-installatiekopie wordt gebouwd en naar het containerregister wordt gepusht.
System.AccessToken gebruiken voor verificatie in Docker@2 taak
U kunt zich verifiëren met een containerregister met behulp van azure System.AccessToken DevOps. Met dit token kunt u beveiligde toegang krijgen tot resources in uw pijplijn zonder gevoelige referenties weer te geven.
In het volgende YAML-pijplijnvoorbeeld wordt de Docker@2 taak gebruikt om u aan te melden bij het containerregister en de Docker-installatiekopieën te pushen. Deze System.AccessToken is ingesteld als een omgevingsvariabele om de Docker-opdrachten te verifiëren.
Vervang door <docker connection> de naam van de Docker-registerserviceverbinding.
Vervang door <your repository> de naam van uw Docker-opslagplaats.