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
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.
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.
Das erstellte Image wird auch im ACR-Repository gespeichert.
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.
Als ich den Quellcode im Git-Repository aktualisiert habe, wurde auch hier ein automatischer Build ausgeführt.
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