[DOCKER] [Azure] Automatische Erstellung mit ACR-Task, ausgelöst durch Aktualisierung des Basisimages / Quellcodes

Mit der Funktion "ACR-Task" der Azure Container Registry (ACR) können Sie automatisch ein Container-Image erstellen, das durch eine Aktualisierung des Basis-Images oder des Quellcodes ausgelöst wird.

ACR-Aufgabenübersicht: https://docs.microsoft.com/en-us/azure/container-registry/container-registry-tasks-overview

1. Erstellen Sie eine ACR-Aufgabe

Haben Sie im Voraus ein Git-Repository, das den ACR und die Docker-Datei enthält. Führen Sie den folgenden Befehl auf der Azure Cloud Shell oder der Konsole mit Az Login aus.

 ACR_NAME = <erstellter ACR-Name>
 ACR_TASK_NAME = <beliebiger ACR-Aufgabenname>

az acr task create \
  --registry ${ACR_NAME} \
  --name ${ACR_TASK_NAME} \
 --image <Name eines beliebigen Container-Images>: <Tag> \
 --context <URL des Git-Repository-Klons> \
 --file <Docker-Dateiname> \
  --git-access-token <Git Access token (PAT)>

Beispiel für die Ausführung eines offiziellen Tutorial-Befehls: https://docs.microsoft.com/ja-jp/azure/container-registry/container-registry-tutorial-base-image-update#create-a-task

Sie können die erstellte ACR-Aufgabe unter [Dienste] - [Aufgaben] von ACR überprüfen. 2020-11-07_16h05_30.png

2. Führen Sie die ACR-Aufgabe manuell aus

Sie müssen die ACR-Task einmal manuell ausführen, um automatische Builds zu aktivieren. https://docs.microsoft.com/ja-jp/azure/container-registry/container-registry-tasks-base-images#additional-considerations

Führen Sie es mit dem folgenden Befehl aus.

az acr task run --registry ${ACR_NAME} --name ${ACR_TASK_NAME} 

Sie können die Ausführung auf der Registerkarte [Ausführen] der Aufgabe überprüfen. 2020-11-07_16h33_16_2.png

Das erstellte Image wird auch im ACR-Repository gespeichert.

3. Überprüfen Sie den automatischen Build, indem Sie das Basis-Image / den Quellcode aktualisieren

Dieses Mal werden wir das Basis-Image auf Docker Hub aktualisieren. Die Zeit vom Update bis zum Auslösen eines Builds hängt vom Speicherort des Basisimages ab. Dies kann für Docker Hub 10 bis 60 Minuten dauern. https://docs.microsoft.com/ja-jp/azure/container-registry/container-registry-tasks-base-images#base-image-notifications

Als ich ungefähr 10 Minuten gewartet und auf den Aufgabenbildschirm geschaut habe, konnte ich die Ausführung der ACR-Aufgabe bestätigen, deren Auslöser "Bildaktualisierung" war. 2020-11-07_16h49_53.png

Als ich den Quellcode im Git-Repository aktualisiert habe, wurde auch hier ein automatischer Build ausgeführt. 2020-11-07_16h53_07.png

Wenn Sie die automatische Erstellung deaktivieren möchten, können Sie diese mit der Option des Befehls "az acr task update" ändern. https://docs.microsoft.com/ja-jp/cli/azure/acr/task?view=azure-cli-latest#az_acr_task_update

az acr task update --name ${ACR_TASK_NAME} --registry ${ACR_NAME} --base-image-trigger-enabled false
az acr task update --name ${ACR_TASK_NAME} --registry ${ACR_NAME} --commit-trigger-enabled false

Referenzmaterial

Recommended Posts

[Azure] Automatische Erstellung mit ACR-Task, ausgelöst durch Aktualisierung des Basisimages / Quellcodes
Überwachen Sie Quellcodeänderungen mit der Guard-Shell und erstellen und führen Sie sie automatisch aus