Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Flerstegsaktiviteter utökar funktionen för att skapa och push-överföra enskilda avbildningar för ACR-uppgifter med arbetsflöden med flera steg och flera containrar. Använd uppgifter i flera steg för att skapa och push-överföra flera bilder, i serier eller parallellt. Kör sedan avbildningarna som kommandon i en enda aktivitetskörning. Varje steg definierar en containeravbildningsversion eller push-åtgärd och kan även definiera körningen av en container. Varje steg i en uppgift i flera steg använder en container som körningsmiljö.
Viktigt
Om du tidigare skapade uppgifter i förhandsversionen med kommandot az acr build-task
behöver de uppgifterna skapas på nytt med hjälp av kommandot az acr task.
Du kan till exempel köra en uppgift med steg som automatiserar följande logik:
helm upgrade
med hjälp av det nya Helm-diagramarkivpaketetAlla steg utförs i Azure, vilket avlastar arbetet till Azures beräkningsresurser och frigör dig från infrastrukturhantering. Förutom ditt Azure-containerregister betalar du bara för de resurser du använder. Information om priser finns i avsnittet Container Build i Prissättning för Azure Container Registry.
Flerstegsaktiviteter aktiverar scenarier som följande logik:
En uppgift i flera steg i ACR Tasks definieras som en serie steg i en YAML-fil. Varje steg kan ange beroenden för att slutföra ett eller flera tidigare steg. Följande typer av aktivitetssteg är tillgängliga:
build
: Skapa en eller flera containeravbildningar med välbekant docker build
syntax, i serier eller parallellt.push
: Skicka byggda avbildningar till ett containerregister. Privata register som Azure Container Registry stöds, liksom den offentliga Docker Hub.cmd
: Kör en container, så att den kan fungera som en funktion i kontexten för den aktivitet som körs. Du kan skicka parametrar till containerns [ENTRYPOINT]
och ange egenskaper som env, frånkoppling och andra välbekanta docker run
parametrar. Stegtypen cmd
möjliggör enhets- och funktionstestning, med samtidig containerkörning.Följande kodfragment visar hur du kombinerar de här aktivitetsstegstyperna. Flerstegsuppgifter kan vara så enkla som att skapa en enskild avbildning från en Dockerfile och skicka till registret, med en YAML-fil som liknar:
version: v1.1.0
steps:
- build: -t $Registry/hello-world:$ID .
- push: ["$Registry/hello-world:$ID"]
Eller mer komplext, till exempel den här fiktiva definitionen i flera steg som innehåller steg för att skapa, testa, helm-paket och helm-distribution (containerregistret och Helm-lagringsplatsens konfiguration visas inte):
version: v1.1.0
steps:
- id: build-web
build: -t $Registry/hello-world:$ID .
when: ["-"]
- id: build-tests
build: -t $Registry/hello-world-tests ./funcTests
when: ["-"]
- id: push
push: ["$Registry/helloworld:$ID"]
when: ["build-web", "build-tests"]
- id: hello-world-web
cmd: $Registry/helloworld:$ID
- id: funcTests
cmd: $Registry/helloworld:$ID
env: ["host=helloworld:80"]
- cmd: $Registry/functions/helm package --app-version $ID -d ./helm ./helm/helloworld/
- cmd: $Registry/functions/helm upgrade helloworld ./helm/helloworld/ --reuse-values --set helloworld.image=$Registry/helloworld:$ID
Se aktivitetsexempel för YAML-filer och Dockerfiles i flera steg för flera scenarier.
Aktiviteter stöder både manuell körning, som kallas "snabbkörning" och automatisk körning på Git-incheckning eller basavbildningsuppdatering.
Om du vill köra en uppgift definierar du först aktivitetens steg i en YAML-fil och kör sedan Azure CLI-kommandot az acr run.
Här är ett exempel på ett Azure CLI-kommando som kör en uppgift med hjälp av en YAML-exempelfil. Stegen bygger och push-överför sedan en avbildning. Uppdatera \<acrName\>
med namnet på ditt eget Azure-containerregister innan du kör kommandot.
az acr run --registry <acrName> -f build-push-hello-world.yaml https://github.com/Azure-Samples/acr-tasks.git
När du kör uppgiften ska utdata visa förloppet för varje steg som definierats i YAML-filen. I följande utdata visas stegen som acb_step_0
och acb_step_1
.
az acr run --registry myregistry -f build-push-hello-world.yaml https://github.com/Azure-Samples/acr-tasks.git
Sending context to registry: myregistry...
Queued a run with ID: yd14
Waiting for an agent...
2018/09/12 20:08:44 Using acb_vol_0467fe58-f6ab-4dbd-a022-1bb487366941 as the home volume
2018/09/12 20:08:44 Creating Docker network: acb_default_network
2018/09/12 20:08:44 Successfully set up Docker network: acb_default_network
2018/09/12 20:08:44 Setting up Docker configuration...
2018/09/12 20:08:45 Successfully set up Docker configuration
2018/09/12 20:08:45 Logging in to registry: myregistry.azurecr-test.io
2018/09/12 20:08:46 Successfully logged in
2018/09/12 20:08:46 Executing step: acb_step_0
2018/09/12 20:08:46 Obtaining source code and scanning for dependencies...
2018/09/12 20:08:47 Successfully obtained source code and scanned for dependencies
Sending build context to Docker daemon 109.6kB
Step 1/1 : FROM hello-world
---> 4ab4c602aa5e
Successfully built 4ab4c602aa5e
Successfully tagged myregistry.azurecr-test.io/hello-world:yd14
2018/09/12 20:08:48 Executing step: acb_step_1
2018/09/12 20:08:48 Pushing image: myregistry.azurecr-test.io/hello-world:yd14, attempt 1
The push refers to repository [myregistry.azurecr-test.io/hello-world]
428c97da766c: Preparing
428c97da766c: Layer already exists
yd14: digest: sha256:1a6fd470b9ce10849be79e99529a88371dff60c60aab424c077007f6979b4812 size: 524
2018/09/12 20:08:55 Successfully pushed image: myregistry.azurecr-test.io/hello-world:yd14
2018/09/12 20:08:55 Step id: acb_step_0 marked as successful (elapsed time in seconds: 2.035049)
2018/09/12 20:08:55 Populating digests for step id: acb_step_0...
2018/09/12 20:08:57 Successfully populated digests for step id: acb_step_0
2018/09/12 20:08:57 Step id: acb_step_1 marked as successful (elapsed time in seconds: 6.832391)
The following dependencies were found:
- image:
registry: myregistry.azurecr-test.io
repository: hello-world
tag: yd14
digest: sha256:1a6fd470b9ce10849be79e99529a88371dff60c60aab424c077007f6979b4812
runtime-dependency:
registry: registry.hub.docker.com
repository: library/hello-world
tag: latest
digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
git: {}
Run ID: yd14 was successful after 19s
Mer information om automatiserade versioner av Git-incheckning eller basavbildningsuppdatering finns i självstudieartiklarna Automatisera avbildningsversioner och Basavbildningsuppdateringsversioner .
Du hittar uppgiftsreferenser och exempel i flera steg här:
task.yaml
och Docker-filer för flera scenarier, enkla till komplexa.Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Hantera containeravbildningar i Azure Container Registry - Training
Lär dig hur du använder Azure Container Registry för att lagra dina containeravbildningar och automatisera byggen och distributioner.
Certifiering
Microsoft-certifierad: DevOps-teknikerexpert - Certifications
Den här certifieringen mäter din förmåga att utföra följande tekniska uppgifter: Utforma och implementera processer och kommunikation, utforma och implementera en källkontrollstrategi, utforma och implementera bygg- och versionspipelines, utveckla en säkerhets- och efterlevnadsplan och implementera en instrumenteringsstrategi.