Erstellen und Verwalten von Containern mit Tasks

Abgeschlossen

Aufgaben der Azure Container Registry (ACR) sind eine Reihe von Features, die Folgendes leisten:

  • Bereitstellen einer cloudbasierten Containerimageerstellung für Plattformen wie Linux, Windows und Advanced RISC Machines (Arm).
  • Ausdehnen der frühen Phasen eines Anwendungsentwicklungszyklus auf die Cloud mit bedarfsgesteuerten Buildvorgängen für Containerimages
  • Aktivieren automatisierter Buildvorgänge, die durch Quellcodeupdates, Updates des Basisimages eines Containers oder Zeitgeber ausgelöst werden

Taskszenarien

ACR Tasks unterstützt verschiedene Szenarien zum Erstellen und Verwalten von Containerimages und anderen Artefakten.

  • Schnelltask : Bedarfsgesteuertes Erstellen und Pushen eines einzelnen Containerimages in eine Containerregistrierung in Azure ohne lokale Docker Engine-Installation. Kurz: docker build, docker push in die Cloud.

  • Automatisch ausgelöste Tasks: Aktivieren Sie einen oder mehrere Trigger, um ein Image zu erstellen:

    • Auslösen des Tasks beim Update des Quellcodes
    • Auslösen beim Basisimageupdate
    • Auslösen nach Zeitplan
  • Task mit mehreren Schritten : Erweitern der ACR Tasks-Funktion zum Erstellen und Pushen einzelner Images mit auf mehreren Containern basierenden Workflows mit mehreren Schritten.

Jeder ACR Tasks-Instanz ist ein Quellcodekontext zugeordnet: der Speicherort eines Satzes von Quelldateien, der zum Erstellen eines Containerimages oder eines anderen Artefakts verwendet wird. Beispielkontexte sind ein Git-Repository oder ein lokales Dateisystem.

Schnelltask

Der Inner-Loop-Entwicklungszyklus ist der iterative Prozess zum Schreiben von Code und zum Erstellen und Testen der Anwendung, bevor Sie diese in die Quellcodeverwaltung committen. Er stellt den Anfang der Lebenszyklusverwaltung von Containern dar.

Bevor Sie Ihre erste Zeile Code committen, kann das Feature Schnelltask von ACR Tasks eine integrierte Entwicklungsumgebung bereitstellen, indem Ihre Containerimage-Buildvorgänge in Azure ausgelagert werden. Mit Schnelltasks können Sie Ihre automatisierten Builddefinitionen überprüfen und potenzielle Probleme abfangen, bevor Sie Ihren Code committen.

Der Befehl az acr build der Azure-Befehlszeilenschnittstelle verwendet das vertraute docker build-Format. Er akzeptiert einen Kontext (Satz zu erstellender Dateien), sendet ihn an ACR Tasks und pusht das erstellte Image nach dessen Fertigstellung standardmäßig in die entsprechende Registrierung.

Auslösen des Tasks beim Update des Quellcodes

Lösen Sie den Build eines Containerimages oder einen Task mit mehreren Schritten aus, wenn Code in ein Git-Repository in GitHub oder Azure DevOps Services committet oder ein Pull Request erstellt oder aktualisiert wird. Sie können beispielsweise einen Buildtask mit dem Azure CLI-Befehl az acr task create konfigurieren, indem Sie ein Git-Repository und optional einen Branch und ein Dockerfile angeben. Wenn Ihr Team Code im Repository aktualisiert, löst ein von ACR Tasks erstellter Webhook einen Buildvorgang für das im Repository definierte Containerimage aus.

Auslösen beim Basisimageupdate

Sie können einen ACR Task einrichten, um eine Abhängigkeit von einem Basisimage zu verfolgen, wenn es ein Anwendungsimage erstellt. Wenn das aktualisierte Basisimage in Ihre Registrierung gepusht oder ein Basisimage in einem öffentlichen Repository. wie Docker Hub, aktualisiert wird, kann ACR Tasks automatisch alle darauf basierenden Anwendungsimages erstellen.

Planen eines Tasks

Planen Sie optional einen Task, indem Sie einen oder mehrere Zeitgebertrigger einrichten, wenn Sie den Task erstellen oder aktualisieren. Das Planen eines Tasks eignet sich zum Ausführen von Containerworkloads nach einem definierten Zeitplan oder zum Ausführen von Wartungsvorgängen oder Tests für Images, die regelmäßig in Ihre Registrierung gepusht werden.

Mehrstufige Aufgaben

Mehrstufige Tasks werden in einer YAML-Datei definiert und legen einzelne Build- und Pushvorgänge für Containerimages oder andere Artefakte fest. Sie können auch die Ausführung eines oder mehrerer Container mit jedem Schritt definieren, wobei der Container als Ausführungsumgebung verwendet wird. Beispielsweise können Sie eine mehrstufige Aufgaben erstellen, die die folgenden Vorgänge automatisiert:

  1. Erstellen eines Webanwendungsimages
  2. Ausführen des Webanwendungscontainers
  3. Erstellen eines Webanwendungs-Testimages
  4. Ausführen des Webanwendungs-Testcontainers, der Tests für den aktuell ausgeführten Anwendungscontainer durchführt
  5. Wenn die Tests erfolgreich sind: Erstellen eines Helm-Chart-Archivpakets
  6. Ausführen von helm upgrade mithilfe des neuen Helm-Chart-Archivpakets

Imageplattformen

ACR Tasks erstellt standardmäßig Images für das Linux-Betriebssystem und die amd64-Architektur. Geben Sie das Tag --platform an, um Windows-Images oder Linux-Images für andere Architekturen zu erstellen. Geben Sie das Betriebssystem und optional eine unterstützte Architektur im Format „Betriebssystem/Architektur“ an (z. B. --platform Linux/arm). Geben Sie bei ARM-Architekturen optional eine Variante im Format „Betriebssystem/Architektur/Variante“ an (z. B. --platform Linux/arm64/v8):

OS Aufbau
Linux AMD64
Arm
ARM64
386
Windows AMD64