Créer et gérer des conteneurs avec des tâches

Effectué

ACR Tasks est une suite de fonctionnalités d’Azure Container Registry. Il permet de créer des images de conteneurs dans le cloud pour des plateformes telles que Linux, Windows et Azure Resource Manager, et peut automatiser l’application de correctifs aux systèmes d’exploitation et aux frameworks pour vos conteneurs Docker. ACR Tasks activent les builds automatisées déclenchées par les mises à jour du code source, les mises à jour de l’image de base d’un conteneur ou les minuteurs.

Scénarios de tâches

ACR Tasks prend en charge plusieurs scénarios pour créer et gérer des images de conteneur et d’autres artefacts.

  • Tâche rapide : générer et envoyer (push) une seule image de conteneur vers un registre de conteneurs à la demande dans Azure, sans avoir besoin d’une installation locale de Docker Engine. Pensez docker build, docker push dans le cloud.

  • Tâches déclenchées automatiquement : activez un ou plusieurs déclencheurs pour générer une image :

    • Déclencher lors de la mise à jour du code source
    • Déclencher lors de la mise à jour de l’image de base
    • Déclencher selon une planification
  • Tâches multiétapes : renforcent la capacité d’ACR Tasks à compiler et envoyer des images en une fois grâce à des flux de travail à plusieurs étapes avec plusieurs conteneurs.

Chaque tâche ACR Tasks a un contexte de code source associé : l’emplacement d’un ensemble de fichiers sources utilisés pour générer une image conteneur ou un autre artefact. Les exemples de contextes incluent un référentiel Git ou un système de fichiers local.

Tâche rapide

Avant de valider votre première ligne de code, les fonctionnalité tâche rapide d’ACR Tasks peut fournir un environnement de développement intégré en déchargeant vos builds d’image de conteneur dans Azure. Avec les tâches rapides, vous pouvez vérifier vos définitions de build automatisées et identifier les problèmes potentiels avant de valider votre code.

En utilisant le format docker build bien connu, la commande az acr build dans Azure CLI prend un contexte (ensemble de fichiers à générer), l’envoie à ACR Tasks et, par défaut, envoie (push) l’image générée à son registre lors de son achèvement.

Déclencher la tâche lors de la mise à jour du code source

Déclenchez la création d’une image conteneur ou une tâche multiétapes lors de la validation du code, ou quand une requête de tirage (pull) est effectuée ou mise à jour, sur un référentiel Git dans GitHub ou Azure DevOps Services. Par exemple, configurez une tâche de build avec la commande Azure CLI az acr task create en spécifiant un dépôt Git et éventuellement une branche et un Dockerfile. Lorsque votre équipe met à jour du code dans le référentiel, un webhook créé par ACR Tasks déclenche la génération de l’image de conteneur définie dans le référentiel.

Déclencher lors de la mise à jour de l’image de base

Vous pouvez configurer une tâche ACR pour effectuer le suivi d’une dépendance sur une image de base au moment de la génération d’une image d’application. Quand l’image de base mise à jour est envoyée à votre registre, ou qu’une image de base est mise à dans un référentiel public comme dans Docker Hub, ACR Tasks peut générer automatiquement des images d’application basées sur elle.

Planifier une tâche

Planifiez éventuellement une tâche en définissant un ou plusieurs déclencheurs de minuteur lorsque vous créez ou mettez à jour la tâche. La planification d’une tâche est utile pour exécuter des charges de travail de conteneur selon une planification définie, ou pour exécuter des opérations de maintenance ou des tests sur des images transmises régulièrement à votre registre.

Tâches multiétapes

Les tâches multi-étapes, définies dans un fichier YAML, spécifient des opérations de build et de push individuelles pour les images conteneur ou d’autres artefacts. Elles permettent également de définir l’exécution d’un ou plusieurs conteneurs, en utilisant à chaque étape le conteneur comme son environnement d’exécution. Par exemple, vous pouvez créer une tâche à plusieurs étapes qui automatise les opérations suivantes :

  1. Compiler une image d’application web
  2. Exécuter le conteneur d’application web
  3. Compiler une image test d’application web
  4. Exécuter le conteneur de test de l’application web qui effectue des tests sur le conteneur d’application en cours d’exécution
  5. Si les tests réussissent, compilez un package d’archivage du graphique Helm
  6. Effectuer un helm upgrade à l’aide du nouveau package d’archivage du graphique Helm

Plateformes d’images

Par défaut, ACR Tasks génère des images pour le système d’exploitation Linux et l’architecture amd64. Spécifiez l’étiquette --platform pour créer des images Windows ou des images Linux pour d’autres architectures. Spécifiez le système d’exploitation et éventuellement une architecture prise en charge au format système d’exploitation/architecture (par exemple, --platform Linux/arm). Pour les architectures ARM, spécifiez éventuellement une variante au format système d’exploitation/architecture/variante (par exemple, --platform Linux/arm64/v8) :

Système d''exploitation Architecture
Linux amd64
arm
arm64
386
Windows amd64