[DOCKER] [Azure] Créer automatiquement avec la tâche ACR déclenchée par la mise à jour de l'image de base / du code source

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

1. Créez une tâche ACR

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. 2020-11-07_16h05_30.png

2. Exécutez la tâche ACR manuellement

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. 2020-11-07_16h33_16_2.png

Il stocke également l'image construite dans le référentiel ACR.

3. Vérifiez la construction automatique en mettant à jour l'image de base / le code source

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". 2020-11-07_16h49_53.png

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. 2020-11-07_16h53_07.png

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

Matériel de référence

Recommended Posts

[Azure] Créer automatiquement avec la tâche ACR déclenchée par la mise à jour de l'image de base / du code source
Surveillez les modifications du code source avec Guard-Shell et créez et exécutez automatiquement