Oktatóanyag: Többlépéses tároló-munkafolyamat futtatása a felhőben a forráskód véglegesítésekor
A gyors feladat mellett az ACR Tasks többlépéses, többtárolós munkafolyamatokat is támogat, amelyek automatikusan aktiválhatók, amikor forráskódot véglegesít egy Git-adattárban.
Ebből az oktatóanyagból megtudhatja, hogyan definiálhat többlépéses feladatokat yaML-példafájlok használatával, amelyek egy vagy több tárolórendszerképet buildelnek, futtatnak és leküldnek egy beállításjegyzékbe a forráskód véglegesítésekor. Ha olyan feladatot szeretne létrehozni, amely csak egyetlen rendszerkép összeállítását automatizálja a kód véglegesítésekor, tekintse meg az oktatóanyagot: Tárolórendszerkép-buildek automatizálása a felhőben a forráskód véglegesítésekor. Az ACR-feladatok áttekintését lásd: Az operációs rendszer és a keretrendszer javításának automatizálása az ACR Tasks használatával.
Ebben az oktatóanyagban:
- Többlépéses feladat definiálása YAML-fájllal
- Tevékenység létrehozása
- Ha szeretné, hitelesítő adatokat adhat a feladathoz egy másik beállításjegyzékhez való hozzáférés engedélyezéséhez
- A feladat tesztelése
- Tevékenységek állapotának megtekintése
- A feladat aktiválása kódvéglegesítéssel
Ez az oktatóanyag feltételezi, hogy elvégezte az előző oktatóanyag lépéseit. Ha még nem tette meg, hajtsa végre az előző oktatóanyag Előfeltételek szakaszának lépéseit, mielőtt továbblépne.
Előfeltételek
Mintakód letöltése
Ez az oktatóanyag feltételezi, hogy elvégezte az előző oktatóanyag lépéseit, valamint elágaztatta és klónozta a mintaadattárat. Ha még nem tette meg, hajtsa végre az előző oktatóanyag Előfeltételek szakaszának lépéseit, mielőtt továbblépne.
Tárolóregisztrációs adatbázis
Az oktatóanyag elvégzéséhez rendelkeznie kell egy Azure-beli tárolóregisztrációs adatbázissal az Azure-előfizetésében. Amennyiben létre kell hoznia a regisztrációs adatbázist, tekintse meg az előző oktatóanyagot vagy a Rövid útmutató: Tárolóregisztrációs adatbázis létrehozása az Azure CLI-vel című cikket.
Személyes hozzáférési jogkivonat létrehozása a GitHubban
Ha egy git-adattárban szeretne feladatokat aktiválni egy véglegesítésen, az ACR-feladatoknak személyes hozzáférési jogkivonatra (PAT) van szükségük az adattár eléréséhez. Ha még nem rendelkezik PAT-rel, az alábbi lépésekkel hozhat létre egyet a GitHubon:
Lépjen a GitHub PAT-létrehozási oldalára a https://github.com/settings/tokens/new címen.
Adja meg a jogkivonat rövid leírását, például „ACR Tasks bemutatója”.
Válassza ki az ACR hatóköreit az adattár eléréséhez. Ha az oktatóanyagban ismertetett módon szeretne hozzáférni egy nyilvános adattárhoz, engedélyezze az adattár:állapot éspublic_repo
Megjegyzés
Ha személyes adattárat szeretne létrehozni egy privát adattár eléréséhez, válassza ki a teljes adattár-vezérlés hatókörét.
Kattintson a Generate token (Jogkivonat létrehozása) gombra (a rendszer kérheti a jelszó megadását).
Másolja és mentse a létrehozott jogkivonatot egy biztonságos helyre (ezt a jogkivonatot egy feladat definiálására fogja használni a következő szakaszban).
A környezet előkészítése az Azure CLI-hez
Használja a Bash-környezetet az Azure Cloud Shell. További információ: Rövid útmutató a Bashhez az Azure Cloud Shell-ban.
Ha inkább helyileg szeretné futtatni a PARANCSSORI referenciaparancsokat, telepítse az Azure CLI-t . Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd: Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Többlépéses feladat létrehozása
Most, hogy elvégezte az ACR-feladatok véglegesítési állapotának olvasásához és webhookok létrehozásához szükséges lépéseket egy adattárban, hozzon létre egy többlépéses feladatot, amely elindítja a tárolólemezképek létrehozását, futtatását és leküldését.
YAML-fájl
Egy YAML-fájlban definiálhatja egy többlépéses feladat lépéseit. Az oktatóanyag első többlépéses feladatát a fájl taskmulti.yaml
határozza meg, amely a klónozott GitHub-adattár gyökerében található:
version: v1.1.0
steps:
# Build target image
- build: -t {{.Run.Registry}}/hello-world:{{.Run.ID}} -f Dockerfile .
# Run image
- cmd: -t {{.Run.Registry}}/hello-world:{{.Run.ID}}
id: test
detach: true
ports: ["8080:80"]
- cmd: docker stop test
# Push image
- push:
- {{.Run.Registry}}/hello-world:{{.Run.ID}}
Ez a többlépéses feladat a következőket végzi el:
- Futtat egy
build
lépést egy lemezkép létrehozásához a dockerfile-ból a munkakönyvtárban. A rendszerkép aRun.Registry
beállításjegyzéket célozza, ahol a feladat fut, és egy egyedi ACR Tasks-futtatási azonosítóval van megjelölve. -
cmd
Egy lépés futtatásával futtatja a lemezképet egy ideiglenes tárolóban. Ez a példa elindít egy hosszú ideig futó tárolót a háttérben, és visszaadja a tároló azonosítóját, majd leállítja a tárolót. Egy valós forgatókönyvben a futó tároló tesztelésének lépéseit is belefoglalhatja, hogy az megfelelően fusson. -
push
Egy lépésben leküldi a létrehozott rendszerképet a futtatási beállításjegyzékbe.
Feladat parancs
Először lássa el ezeket a rendszerhéj-környezeti változókat a környezetnek megfelelő értékekkel. Ez a lépés nem feltétlenül szükséges, de némileg könnyebbé teszi az oktatóanyagban lévő többsoros Azure CLI-parancsok végrehajtását. Ha nem tölti fel ezeket a környezeti változókat, manuálisan kell lecserélnie az értékeket, bárhol is jelenjenek meg a példaparancsokban.
ACR_NAME=<registry-name> # The name of your Azure container registry
GIT_USER=<github-username> # Your GitHub user account name
GIT_PAT=<personal-access-token> # The PAT you generated in the previous section
Most hozza létre a feladatot az alábbi az acr task create paranccsal:
az acr task create \
--registry $ACR_NAME \
--name example1 \
--context https://github.com/$GIT_USER/acr-build-helloworld-node.git#main \
--file taskmulti.yaml \
--git-access-token $GIT_PAT
Ez a feladat azt határozza meg, hogy az ACR Tasks a --context
által megadott adattár fő ágára véglegesíti a többlépéses feladatot az adott ág kódjából. A lépéseket az adattár gyökeréből megadott --file
YAML-fájl határozza meg.
A sikeres az acr task create parancs kimenete az alábbihoz hasonló:
{
"agentConfiguration": {
"cpu": 2
},
"creationDate": "2020-11-20T03:14:31.763887+00:00",
"credentials": null,
"id": "/subscriptions/<Subscription ID>/resourceGroups/myregistry/providers/Microsoft.ContainerRegistry/registries/myregistry/tasks/taskmulti",
"location": "westus",
"name": "example1",
"platform": {
"architecture": "amd64",
"os": "linux",
"variant": null
},
"provisioningState": "Succeeded",
"resourceGroup": "myresourcegroup",
"status": "Enabled",
"step": {
"baseImageDependencies": null,
"contextAccessToken": null,
"contextPath": "https://github.com/gituser/acr-build-helloworld-node.git#main",
"taskFilePath": "taskmulti.yaml",
"type": "FileTask",
"values": [],
"valuesFilePath": null
},
"tags": null,
"timeout": 3600,
"trigger": {
"baseImageTrigger": {
"baseImageTriggerType": "Runtime",
"name": "defaultBaseimageTriggerName",
"status": "Enabled"
},
"sourceTriggers": [
{
"name": "defaultSourceTriggerName",
"sourceRepository": {
"branch": "main",
"repositoryUrl": "https://github.com/gituser/acr-build-helloworld-node.git#main",
"sourceControlAuthProperties": null,
"sourceControlType": "Github"
},
"sourceTriggerEvents": [
"commit"
],
"status": "Enabled"
}
]
},
"type": "Microsoft.ContainerRegistry/registries/tasks"
}
A többlépéses munkafolyamat tesztelése
A többlépéses feladat teszteléséhez manuálisan aktiválja azt az az acr task run parancs végrehajtásával:
az acr task run --registry $ACR_NAME --name example1
Alapértelmezés szerint az az acr task run
a naplókimenetet a konzolra streameli a parancs végrehajtásakor. A kimenet az egyes feladatlépések futtatásának folyamatát mutatja. Az alábbi kimenet a fő lépések megjelenítéséhez lesz tömör.
Queued a run with ID: cab
Waiting for an agent...
2020/11/20 00:03:31 Downloading source code...
2020/11/20 00:03:33 Finished downloading source code
2020/11/20 00:03:33 Using acb_vol_cfe6bd55-3076-4215-8091-6a81aec3d1b1 as the home volume
2020/11/20 00:03:33 Creating Docker network: acb_default_network, driver: 'bridge'
2020/11/20 00:03:34 Successfully set up Docker network: acb_default_network
2020/11/20 00:03:34 Setting up Docker configuration...
2020/11/20 00:03:34 Successfully set up Docker configuration
2020/11/20 00:03:34 Logging in to registry: myregistry.azurecr.io
2020/11/20 00:03:35 Successfully logged into myregistry.azurecr.io
2020/11/20 00:03:35 Executing step ID: acb_step_0. Working directory: '', Network: 'acb_default_network'
2020/11/20 00:03:35 Scanning for dependencies...
2020/11/20 00:03:36 Successfully scanned dependencies
2020/11/20 00:03:36 Launching container with name: acb_step_0
Sending build context to Docker daemon 24.06kB
[...]
Successfully built f669bfd170af
Successfully tagged myregistry.azurecr.io/hello-world:cf19
2020/11/20 00:03:43 Successfully executed container: acb_step_0
2020/11/20 00:03:43 Executing step ID: acb_step_1. Working directory: '', Network: 'acb_default_network'
2020/11/20 00:03:43 Launching container with name: acb_step_1
279b1cb6e092b64c8517c5506fcb45494cd5a0bd10a6beca3ba97f25c5d940cd
2020/11/20 00:03:44 Successfully executed container: acb_step_1
2020/11/20 00:03:44 Executing step ID: acb_step_2. Working directory: '', Network: 'acb_default_network'
2020/11/20 00:03:44 Pushing image: myregistry.azurecr.io/hello-world:cf19, attempt 1
[...]
2020/11/20 00:03:46 Successfully pushed image: myregistry.azurecr.io/hello-world:cf19
2020/11/20 00:03:46 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 7.425169)
2020/11/20 00:03:46 Populating digests for step ID: acb_step_0...
2020/11/20 00:03:47 Successfully populated digests for step ID: acb_step_0
2020/11/20 00:03:47 Step ID: acb_step_1 marked as successful (elapsed time in seconds: 0.827129)
2020/11/20 00:03:47 Step ID: acb_step_2 marked as successful (elapsed time in seconds: 2.112113)
2020/11/20 00:03:47 The following dependencies were found:
2020/11/20 00:03:47
- image:
registry: myregistry.azurecr.io
repository: hello-world
tag: cf19
digest: sha256:6b981a8ca8596e840228c974c929db05c0727d8630465de536be74104693467a
runtime-dependency:
registry: registry.hub.docker.com
repository: library/node
tag: 15-alpine
digest: sha256:8dafc0968fb4d62834d9b826d85a8feecc69bd72cd51723c62c7db67c6dec6fa
git:
git-head-revision: 1a3065388a0238e52865db1c8f3e97492a43444c
Run ID: cab was successful after 18s
Összeállítás kiváltása véglegesítéssel
A feladat manuális futtatással való tesztelését követően aktiválja automatikusan a feladatot a forráskód módosításával.
Először ellenőrizze, hogy az adattár helyi klónját tartalmazó könyvtárban van:
cd acr-build-helloworld-node
Ezután az alábbi parancsok futtatásával hozzon létre, véglegesítsen és küldjön le egy új fájlt a GitHub-adattár adott elágazásába:
echo "Hello World!" > hello.txt
git add hello.txt
git commit -m "Testing ACR Tasks"
git push origin main
Előfordulhat, hogy a rendszer a GitHub hitelesítő adatok megadását kéri a git push
parancs végrehajtásakor. Adja meg GitHub-felhasználónevét, valamint a jelszóként korábban létrehozott személyes hozzáférési jogkivonatot (PAT).
Username for 'https://github.com': <github-username>
Password for 'https://githubuser@github.com': <personal-access-token>
Miután leküldte a véglegesítést az adattárba, az ACR Tasks által létrehozott webhook aktiválódik, és elindítja a feladatot Azure Container Registry. Megjeleníti az aktuálisan futó feladat naplóit az összeállítási folyamat ellenőrzéséhez és monitorozásához:
az acr task logs --registry $ACR_NAME
A kimenet az alábbihoz hasonló, és az aktuálisan (vagy legutóbb) futtatott feladatot mutatja:
Showing logs of the last created run.
Run ID: cad
[...]
Run ID: cad was successful after 37s
Összeállítások listázása
Az ACR Tasks által a regisztrációs adatbázis számára elkészített feladatfuttatások listájának megtekintéséhez futtassa az az acr task list-runs parancsot:
az acr task list-runs --registry $ACR_NAME --output table
A parancs kimenete az alábbihoz hasonlóan néz ki. Megjelennek az ACR Tasks által végrehajtott futtatások, és a „Git Commit” (Gitbeli véglegesítés) jelölés jelenik meg a legutóbbi feladat TRIGGER oszlopában:
RUN ID TASK PLATFORM STATUS TRIGGER STARTED DURATION
-------- -------------- ---------- --------- --------- -------------------- ----------
cad example1 linux Succeeded Commit 2020-11-20T00:22:15Z 00:00:35
cac taskhelloworld linux Succeeded Commit 2020-11-20T00:22:15Z 00:00:22
cab example1 linux Succeeded Manual 2020-11-20T00:18:36Z 00:00:47
Több beállításjegyzékbeli többlépéses feladat létrehozása
Az ACR Tasks alapértelmezés szerint rendelkezik a rendszerképek leküldésére vagy lekérésére vonatkozó engedélyekkel a beállításjegyzékből, ahol a feladat fut. Érdemes lehet futtatni egy többlépéses feladatot, amely egy vagy több regisztrációs adatbázist céloz meg a futtatási beállításjegyzék mellett. Előfordulhat például, hogy lemezképeket kell létrehoznia egy beállításjegyzékben, és különböző címkékkel rendelkező lemezképeket kell tárolnia egy második regisztrációs adatbázisban, amelyet egy éles rendszer ér el. Ez a példa bemutatja, hogyan hozhat létre ilyen feladatot, és hogyan adhat meg hitelesítő adatokat egy másik beállításjegyzékhez.
Ha még nincs második beállításjegyzéke, hozzon létre egyet ehhez a példához. Amennyiben létre kell hoznia a regisztrációs adatbázist, tekintse meg az előző oktatóanyagot vagy a Rövid útmutató: Tárolóregisztrációs adatbázis létrehozása az Azure CLI-vel című cikket.
A feladat létrehozásához szüksége lesz a regisztrációs adatbázis bejelentkezési kiszolgálójának nevére, amely mycontainerregistrydate.azurecr.io formátumú (mind kisbetűs). Ebben a példában a második beállításjegyzéket használja a build dátuma szerint címkézett rendszerképek tárolására.
YAML-fájl
Az oktatóanyag második példa többlépéses feladatát a fájl taskmulti-multiregistry.yaml
határozza meg, amely a klónozott GitHub-adattár gyökerében található:
version: v1.1.0
steps:
# Build target images
- build: -t {{.Run.Registry}}/hello-world:{{.Run.ID}} -f Dockerfile .
- build: -t {{.Values.regDate}}/hello-world:{{.Run.Date}} -f Dockerfile .
# Run image
- cmd: -t {{.Run.Registry}}/hello-world:{{.Run.ID}}
id: test
detach: true
ports: ["8080:80"]
- cmd: docker stop test
# Push images
- push:
- {{.Run.Registry}}/hello-world:{{.Run.ID}}
- {{.Values.regDate}}/hello-world:{{.Run.Date}}
Ez a többlépéses feladat a következőket végzi el:
- Két
build
lépésben hozhat létre lemezképeket a dockerfile-ból a munkakönyvtárban:- Az első a
Run.Registry
beállításjegyzéket célozza meg, ahol a feladat fut, és az ACR Tasks futtatási azonosítójával van megjelölve. - A második a feladat létrehozásakor beállított érték
regDate
által azonosított beállításjegyzéket célozza meg (vagy egy, a számára átadottaz acr task create
külsővalues.yaml
fájlon keresztül adja meg). Ez a kép a futtatási dátummal van megjelölve.
- Az első a
- Futtat egy
cmd
lépést az egyik beépített tároló futtatásához. Ez a példa elindít egy hosszú ideig futó tárolót a háttérben, és visszaadja a tárolóazonosítót, majd leállítja a tárolót. Valós forgatókönyv esetén tesztelhet egy futó tárolót, hogy biztosan megfelelően fusson. -
push
Egy lépésben leküldi a létrehozott rendszerképeket, az elsőt a futtatási beállításjegyzékbe, a másodikat pedig a általregDate
azonosított beállításjegyzékbe.
Feladat parancs
A korábban definiált rendszerhéj-környezeti változók használatával hozza létre a feladatot az alábbi az acr task create paranccsal. Cserélje le a beállításjegyzék nevét a mycontainerregistrydate kifejezésre.
az acr task create \
--registry $ACR_NAME \
--name example2 \
--context https://github.com/$GIT_USER/acr-build-helloworld-node.git#main \
--file taskmulti-multiregistry.yaml \
--git-access-token $GIT_PAT \
--set regDate=mycontainerregistrydate.azurecr.io
Tevékenység hitelesítő adatainak hozzáadása
Ha képeket szeretne leküldni az érték regDate
által azonosított beállításjegyzékbe, használja az az acr task credential add parancsot a beállításjegyzék bejelentkezési hitelesítő adatainak a tevékenységhez való hozzáadásához.
Ebben a példában azt javasoljuk, hogy hozzon létre egy szolgáltatásnevet , amely hozzáfér az AcrPush szerepkörre hatókörrel rendelkező beállításjegyzékhez, így rendelkezik a rendszerképek leküldésére vonatkozó engedélyekkel. A szolgáltatásnév létrehozásához használja a következő szkriptet:
#!/bin/bash
# This script requires Azure CLI version 2.25.0 or later. Check version with `az --version`.
# Modify for your environment.
# ACR_NAME: The name of your Azure Container Registry
# SERVICE_PRINCIPAL_NAME: Must be unique within your AD tenant
ACR_NAME=$containerRegistry
SERVICE_PRINCIPAL_NAME=$servicePrincipal
# Obtain the full registry ID
ACR_REGISTRY_ID=$(az acr show --name $ACR_NAME --query "id" --output tsv)
# echo $registryId
# Create the service principal with rights scoped to the registry.
# Default permissions are for docker pull access. Modify the '--role'
# argument value as desired:
# acrpull: pull only
# acrpush: push and pull
# owner: push, pull, and assign roles
PASSWORD=$(az ad sp create-for-rbac --name $SERVICE_PRINCIPAL_NAME --scopes $ACR_REGISTRY_ID --role acrpull --query "password" --output tsv)
USER_NAME=$(az ad sp list --display-name $SERVICE_PRINCIPAL_NAME --query "[].appId" --output tsv)
# Output the service principal's credentials; use these in your services and
# applications to authenticate to the container registry.
echo "Service principal ID: $USER_NAME"
echo "Service principal password: $PASSWORD"
Adja meg a szolgáltatásnév alkalmazásazonosítóját és jelszavát az alábbi az acr task credential add
parancsban. Mindenképpen frissítse a bejelentkezési kiszolgáló mycontainerregistrydate nevét a második beállításjegyzék nevével:
az acr task credential add --name example2 \
--registry $ACR_NAME \
--login-server mycontainerregistrydate.azurecr.io \
--username <service-principal-application-id> \
--password <service-principal-password>
A parancssori felület a hozzáadott regisztrációs adatbázis bejelentkezési kiszolgálójának nevét adja vissza.
A többlépéses munkafolyamat tesztelése
Az előző példához hasonlóan a többlépéses feladat teszteléséhez manuálisan aktiválja azt az az acr feladatfuttatási parancs végrehajtásával. Ha a feladatot véglegesítéssel szeretné aktiválni a Git-adattárban, olvassa el a Build aktiválása véglegesítéssel című szakaszt.
az acr task run --registry $ACR_NAME --name example2
Alapértelmezés szerint az az acr task run
a naplókimenetet a konzolra streameli a parancs végrehajtásakor. A kimenet a korábbiakhoz hasonlóan az egyes tevékenységlépések futtatásának folyamatát mutatja. A kimenet kondenzálva jelenik meg a fő lépések megjelenítéséhez.
Kimenet:
Queued a run with ID: cf1g
Waiting for an agent...
2020/11/20 04:33:39 Downloading source code...
2020/11/20 04:33:41 Finished downloading source code
2020/11/20 04:33:42 Using acb_vol_4569b017-29fe-42bd-83b2-25c45a8ac807 as the home volume
2020/11/20 04:33:42 Creating Docker network: acb_default_network, driver: 'bridge'
2020/11/20 04:33:43 Successfully set up Docker network: acb_default_network
2020/11/20 04:33:43 Setting up Docker configuration...
2020/11/20 04:33:44 Successfully set up Docker configuration
2020/11/20 04:33:44 Logging in to registry: mycontainerregistry.azurecr.io
2020/11/20 04:33:45 Successfully logged into mycontainerregistry.azurecr.io
2020/11/20 04:33:45 Logging in to registry: mycontainerregistrydate.azurecr.io
2020/11/20 04:33:47 Successfully logged into mycontainerregistrydate.azurecr.io
2020/11/20 04:33:47 Executing step ID: acb_step_0. Working directory: '', Network: 'acb_default_network'
2020/11/20 04:33:47 Scanning for dependencies...
2020/11/20 04:33:47 Successfully scanned dependencies
2020/11/20 04:33:47 Launching container with name: acb_step_0
Sending build context to Docker daemon 25.09kB
[...]
Successfully tagged mycontainerregistry.azurecr.io/hello-world:cf1g
2020/11/20 04:33:55 Successfully executed container: acb_step_0
2020/11/20 04:33:55 Executing step ID: acb_step_1. Working directory: '', Network: 'acb_default_network'
2020/11/20 04:33:55 Scanning for dependencies...
2020/11/20 04:33:56 Successfully scanned dependencies
2020/11/20 04:33:56 Launching container with name: acb_step_1
Sending build context to Docker daemon 25.09kB
[...]
Successfully tagged mycontainerregistrydate.azurecr.io/hello-world:20190503-043342z
2020/11/20 04:33:57 Successfully executed container: acb_step_1
2020/11/20 04:33:57 Executing step ID: acb_step_2. Working directory: '', Network: 'acb_default_network'
2020/11/20 04:33:57 Launching container with name: acb_step_2
721437ff674051b6be63cbcd2fa8eb085eacbf38d7d632f1a079320133182101
2020/11/20 04:33:58 Successfully executed container: acb_step_2
2020/11/20 04:33:58 Executing step ID: acb_step_3. Working directory: '', Network: 'acb_default_network'
2020/11/20 04:33:58 Launching container with name: acb_step_3
test
2020/11/20 04:34:09 Successfully executed container: acb_step_3
2020/11/20 04:34:09 Executing step ID: acb_step_4. Working directory: '', Network: 'acb_default_network'
2020/11/20 04:34:09 Pushing image: mycontainerregistry.azurecr.io/hello-world:cf1g, attempt 1
The push refers to repository [mycontainerregistry.azurecr.io/hello-world]
[...]
2020/11/20 04:34:12 Successfully pushed image: mycontainerregistry.azurecr.io/hello-world:cf1g
2020/11/20 04:34:12 Pushing image: mycontainerregistrydate.azurecr.io/hello-world:20190503-043342z, attempt 1
The push refers to repository [mycontainerregistrydate.azurecr.io/hello-world]
[...]
2020/11/20 04:34:19 Successfully pushed image: mycontainerregistrydate.azurecr.io/hello-world:20190503-043342z
2020/11/20 04:34:19 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 8.125744)
2020/11/20 04:34:19 Populating digests for step ID: acb_step_0...
2020/11/20 04:34:21 Successfully populated digests for step ID: acb_step_0
2020/11/20 04:34:21 Step ID: acb_step_1 marked as successful (elapsed time in seconds: 2.009281)
2020/11/20 04:34:21 Populating digests for step ID: acb_step_1...
2020/11/20 04:34:23 Successfully populated digests for step ID: acb_step_1
2020/11/20 04:34:23 Step ID: acb_step_2 marked as successful (elapsed time in seconds: 0.795440)
2020/11/20 04:34:23 Step ID: acb_step_3 marked as successful (elapsed time in seconds: 11.446775)
2020/11/20 04:34:23 Step ID: acb_step_4 marked as successful (elapsed time in seconds: 9.734973)
2020/11/20 04:34:23 The following dependencies were found:
2020/11/20 04:34:23
- image:
registry: mycontainerregistry.azurecr.io
repository: hello-world
tag: cf1g
digest: sha256:75354e9edb995e8661438bad9913deed87a185fddd0193811f916d684b71a5d2
runtime-dependency:
registry: registry.hub.docker.com
repository: library/node
tag: 15-alpine
digest: sha256:8dafc0968fb4d62834d9b826d85a8feecc69bd72cd51723c62c7db67c6dec6fa
git:
git-head-revision: 9d9023473c46a5e2c315681b11eb4552ef0faccc
- image:
registry: mycontainerregistrydate.azurecr.io
repository: hello-world
tag: 20190503-043342z
digest: sha256:75354e9edb995e8661438bad9913deed87a185fddd0193811f916d684b71a5d2
runtime-dependency:
registry: registry.hub.docker.com
repository: library/node
tag: 15-alpine
digest: sha256:8dafc0968fb4d62834d9b826d85a8feecc69bd72cd51723c62c7db67c6dec6fa
git:
git-head-revision: 9d9023473c46a5e2c315681b11eb4552ef0faccc
Run ID: cf1g was successful after 46s
Következő lépések
Ebben az oktatóanyagban megtanulta, hogyan hozhat létre többlépéses, többtárolós feladatokat, amelyek automatikusan aktiválhatók, amikor forráskódot véglegesít egy Git-adattárban. A többlépéses feladatok speciális funkcióit, beleértve a párhuzamos és függő lépések végrehajtását, tekintse meg az ACR Tasks YAML-referenciáját. Folytassa a következő oktatóanyaggal, amelyből megtudhatja, hogyan hozhat létre olyan feladatokat, amelyek a tárolórendszerképek alapként szolgáló rendszerképeinek frissítésekor aktiválnak összeállításokat.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: