Skapa och hantera containrar med uppgifter

Slutförd

ACR Tasks är en uppsättning funktioner i Azure Container Registry. Den tillhandahåller molnbaserad containeravbildningsbyggnad för plattformar som Linux, Windows och Azure Resource Manager och kan automatisera uppdatering av operativsystem och ramverk för dina Docker-containrar. ACR Tasks möjliggör automatiserade versioner som utlöses av källkodsuppdateringar, uppdateringar av en containers basavbildning eller timers.

Aktivitetsscenarier

ACR Tasks stöder flera scenarier för att skapa och underhålla containeravbildningar och andra artefakter.

  • Snabb uppgift – Skapa och skicka en enda containeravbildning till ett containerregister på begäran i Azure utan att behöva installera en lokal Docker Engine. Tänk docker buildi docker push molnet.

  • Automatiskt utlösta uppgifter – Aktivera en eller flera utlösare för att skapa en avbildning:

    • Utlösare vid uppdatering av källkod
    • Utlösare vid basavbildningsuppdatering
    • Utlösare enligt ett schema
  • Uppgift i flera steg – Utöka funktionen för att skapa och push-överföra en avbildning för ACR-uppgifter med flera stegs arbetsflöden med flera containrar.

Varje ACR-uppgift har en associerad källkodskontext – platsen för en uppsättning källfiler som används för att skapa en containeravbildning eller annan artefakt. Exempelkontexter är en Git-lagringsplats eller ett lokalt filsystem.

Snabbaktivitet

Innan du checkar in din första kodrad kan ACR Tasks snabbaktivitetsfunktion ge en integrerad utvecklingsupplevelse genom att avlasta dina containeravbildningsversioner till Azure. Med snabbuppgifter kan du verifiera dina automatiserade byggdefinitioner och fånga upp potentiella problem innan du genomför koden.

Med det välbekanta docker build formatet tar kommandot az acr build i Azure CLI en kontext (uppsättningen filer som ska skapas), skickar den till ACR Tasks och skickar den som standard den skapade avbildningen till registret när den är klar.

Utlösaraktivitet vid uppdatering av källkod

Utlös en containeravbildningsversion eller uppgift i flera steg när kod har checkats in, eller en pull-begäran görs eller uppdateras, till en Git-lagringsplats i GitHub eller Azure DevOps Services. Konfigurera till exempel en bygguppgift med Azure CLI-kommandot az acr task create genom att ange en Git-lagringsplats och eventuellt en gren och Dockerfile. När ditt team uppdaterar koden på lagringsplatsen utlöser en ACR Tasks-skapad webhook en version av containeravbildningen som definierats på lagringsplatsen.

Utlösare vid basavbildningsuppdatering

Du kan konfigurera en ACR-uppgift för att spåra ett beroende av en basavbildning när den skapar en programavbildning. När den uppdaterade basavbildningen skickas till registret, eller om en basavbildning uppdateras på en offentlig lagringsplats, till exempel i Docker Hub, kan ACR Tasks automatiskt skapa alla programavbildningar baserat på den.

Schemalägga en aktivitet

Du kan också schemalägga en aktivitet genom att konfigurera en eller flera timerutlösare när du skapar eller uppdaterar aktiviteten. Schemaläggning av en uppgift är användbart för att köra containerarbetsbelastningar enligt ett definierat schema, eller köra underhållsåtgärder eller tester på avbildningar som skickas regelbundet till registret.

Uppgifter i flera steg

Flerstegsaktiviteter som definieras i en YAML-fil anger enskilda bygg- och push-åtgärder för containeravbildningar eller andra artefakter. De kan också definiera körningen av en eller flera container så varje steg använder containern som sin körningsmiljö. Du kan till exempel skapa en uppgift i flera steg som automatiserar följande:

  1. Skapa en webbappsbild
  2. Kör webbprogramcontainern
  3. Skapa en testbild för webbprogram
  4. Kör testcontainern för webbprogram, som utför tester mot den programcontainer som körs
  5. Om testerna godkänns skapar du ett Helm-diagramarkivpaket
  6. Utföra en helm upgrade med hjälp av det nya Helm-diagramarkivpaketet

Bildplattformar

Som standard skapar ACR Tasks avbildningar för Linux-operativsystemet och amd64-arkitekturen. Ange taggen --platform för att skapa Windows-avbildningar eller Linux-avbildningar för andra arkitekturer. Ange operativsystemet och eventuellt en arkitektur som stöds i OS/arkitekturformat (till exempel --platform Linux/arm). För ARM-arkitekturer kan du ange en variant i OS/arkitektur/variantformat (till exempel --platform Linux/arm64/v8):

OS Arkitektur
Linux amd64
Arm
arm64
386
Windows amd64