En utilisant la fonction ACR task
d'Azure Container Registry (ACR), vous pouvez créer automatiquement une image de conteneur déclenchée par une mise à jour de l'image de base ou du code source.
Présentation des tâches ACR: https://docs.microsoft.com/en-us/azure/container-registry/container-registry-tasks-overview
Avoir à l'avance un référentiel Git contenant l'ACR et le Dockerfile. Exécutez la commande suivante sur Azure Cloud Shell ou la console avec az login.
ACR_NAME = <nom ACR créé>
ACR_TASK_NAME = <nom de tâche ACR arbitraire>
az acr task create \
--registry ${ACR_NAME} \
--name ${ACR_TASK_NAME} \
--image <nom de l'image du conteneur arbitraire>: <tag> \
--context <URL de clonage du référentiel Git> \
--file <nom du fichier Docker> \
--git-access-token <Git Access token (PAT)>
Exemple d'exécution de commande du didacticiel officiel: https://docs.microsoft.com/ja-jp/azure/container-registry/container-registry-tutorial-base-image-update#create-a-task
Vous pouvez vérifier la tâche ACR créée dans [Services] - [Tâches] d'ACR.
Vous devez exécuter manuellement la tâche ACR une fois pour activer les générations automatiques. https://docs.microsoft.com/ja-jp/azure/container-registry/container-registry-tasks-base-images#additional-considerations
Exécutez-le avec la commande suivante.
az acr task run --registry ${ACR_NAME} --name ${ACR_TASK_NAME}
Vous pouvez vérifier l'exécution à partir de l'onglet [Exécuter] de la tâche.
Il stocke également l'image construite dans le référentiel ACR.
Cette fois, nous mettrons à jour l'image de base sur Docker Hub. Le temps entre la mise à jour et le déclenchement d'une compilation dépend de l'emplacement de l'image de base, qui peut prendre 10 à 60 minutes pour Docker Hub. https://docs.microsoft.com/ja-jp/azure/container-registry/container-registry-tasks-base-images#base-image-notifications
Quand j'ai attendu environ 10 minutes et regardé l'écran des tâches, j'ai pu confirmer l'exécution de la tâche ACR dont le déclencheur était "mise à jour d'image".
De plus, lorsque j'ai mis à jour le code source dans le référentiel Git, une compilation automatique s'est également déroulée ici.
Si vous souhaitez désactiver la construction automatique, vous pouvez modifier chacun d'eux avec l'option de la commande az acr task update
.
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