Afficher et gérer les journaux d’exécution des tâches

Chaque exécution de tâche dans Azure Container Registry génère une sortie de journal que vous pouvez inspecter pour déterminer si les étapes de la tâche ont été exécutées avec succès.

Cet article explique comment afficher et gérer des journaux d’exécution des tâches.

Afficher les journaux diffusés en continu

Quand vous déclenchez une tâche manuellement, la sortie du journal est diffusée directement sur la console. Par exemple, lorsque vous déclenchez une tâche manuellement à l’aide de la commande az acr build, az acr run ou az acr task run, la sortie de journal est diffusée en continu sur la console.

L’exemple de commande az acr run suivant déclenche manuellement une tâche qui exécute un conteneur extrait du même registre :

az acr run --registry mycontainerregistry1220 \
  --cmd '$Registry/samples/hello-world:v1' /dev/null

Journal diffusé en continu :

Queued a run with ID: cf4
Waiting for an agent...
2020/03/09 20:30:10 Alias support enabled for version >= 1.1.0, please see https://aka.ms/acr/tasks/task-aliases for more information.
2020/03/09 20:30:10 Creating Docker network: acb_default_network, driver: 'bridge'
2020/03/09 20:30:10 Successfully set up Docker network: acb_default_network
2020/03/09 20:30:10 Setting up Docker configuration...
2020/03/09 20:30:11 Successfully set up Docker configuration
2020/03/09 20:30:11 Logging in to registry: mycontainerregistry1220azurecr.io
2020/03/09 20:30:12 Successfully logged into mycontainerregistry1220azurecr.io
2020/03/09 20:30:12 Executing step ID: acb_step_0. Timeout(sec): 600, Working directory: '', Network: 'acb_default_network'
2020/03/09 20:30:12 Launching container with name: acb_step_0
Unable to find image 'mycontainerregistry1220azurecr.io/samples/hello-world:v1' locally
v1: Pulling from samples/hello-world
Digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e888a
Status: Downloaded newer image for mycontainerregistry1220azurecr.io/samples/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]

2020/03/09 20:30:13 Successfully executed container: acb_step_0
2020/03/09 20:30:13 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 1.180081)

Run ID: cf4 was successful after 5s

Afficher les journaux stockés

Azure Container Registry stocke les journaux d’exécution de toutes les tâches. Vous pouvez afficher les journaux d’exécution stockés dans le portail Azure. Ou utilisez la commande az acr task logs pour afficher un journal sélectionné. Par défaut, les journaux d’activité sont conservés 30 jours.

Si une tâche est déclenchée automatiquement, par exemple par une mise à jour du code source, l’accès aux journaux stockés est l’unique moyen d’afficher les journaux d’exécution. Les déclencheurs de tâches automatiques incluent les validations de code source ou les requêtes de tirage, les mises à jour d’image de base et les déclencheurs de minuteur.

Pour afficher les journaux d’exécution dans le portail :

  1. Accédez à votre registre de conteneurs.
  2. Dans Services, sélectionnez Tâches>Exécutions.
  3. Sélectionnez un ID d’exécution pour afficher l’état d’exécution et les journaux d’exécution. Le journal contient les mêmes informations qu’un journal diffusé en continu, le cas échéant.

Afficher l’exécution d’une tâche dans le portail de connexion

Pour afficher un journal à l’aide de l’interface de ligne de commande Azure, exécutez az acr task logs, puis spécifiez un ID d’exécution, un nom de tâche et une image spécifique créée par une tâche de génération. Si un nom de tâche est spécifié, la commande affiche le journal de la dernière exécution créée.

L’exemple suivant génère le journal pour l’exécution dont l’ID est CF4 :

az acr task logs --registry mycontainerregistry1220 \
  --run-id cf4

Autre stockage de journal

Vous souhaiterez peut-être stocker les journaux d’exécution des tâches sur un système de fichiers local, ou utiliser une autre solution d’archivage telle que le Stockage Azure.

Par exemple, créez un répertoire local tasklogs et redirigez la sortie de la commande az acr task logs vers un fichier local :

mkdir ~/tasklogs

az acr task logs --registry mycontainerregistry1220 \
  --run-id cf4 > ~/tasklogs/cf4.log

Vous pouvez également enregistrer les fichiers journaux locaux dans le Stockage Azure. Par exemple, utilisez l’interface de ligne de commande Azure, le portail Azure ou d’autres méthodes pour charger des fichiers dans un compte de stockage.

Étapes suivantes