Tárolólemezképek összeállításának és karbantartásának automatizálása az ACR-feladatokkal

A tárolók új virtualizálási szinteket biztosítanak, elkülönítve az alkalmazás- és fejlesztői függőségeket az infrastruktúrától és az üzemeltetési követelményektől. Az azonban továbbra is fennáll, hogy foglalkoznia kell az alkalmazásvirtualizálás kezelésével és javításával a tároló életciklusa során.

Mi az ACR-feladatok?

Az ACR Tasks az Azure Container Registry szolgáltatáscsomagja. Felhőalapú tárolórendszerkép-építést biztosít olyan platformokhoz, mint a Linux, a Windows és az ARM, és automatizálhatja a Docker-tárolók operációs rendszereinek és keretrendszereinek javítását. Az ACR-feladatok nem csak az igény szerinti tárolólemezkép-buildekkel bővítik ki a "belső hurok" fejlesztési ciklust a felhőre, hanem lehetővé teszik a forráskódfrissítések, a tároló alaprendszerképének frissítései vagy időzítői által aktivált automatikus buildeket is. Az alaprendszerkép-frissítési triggerekkel például automatizálhatja az operációs rendszer és az alkalmazás-keretrendszer javítási munkafolyamatát, és biztonságos környezeteket tarthat fenn, miközben betartja a nem módosítható tárolók alapelveit.

[! FONTOS] Az ACR ideiglenesen szünetelteti az ACR-feladatok futtatását ingyenes Azure-kreditekből. Ez hatással lehet a meglévő feladatok futtatására. Ha problémákba ütközik, hozzon létre egy támogatási esetet a csapatunk számára, amely további útmutatást nyújt. Vegye figyelembe, hogy a szüneteltetés nem érinti a meglévő ügyfeleket. A szüneteltetés feloldásakor itt frissítjük a dokumentációs értesítésünket.

[! FIGYELMEZTETÉS] Felhívjuk a figyelmét, hogy a parancssorban vagy az URI részeként megadott információk az Azure Container Registry (ACR) diagnosztikai nyomkövetésének részeként naplózhatók. Ide tartoznak a bizalmas adatok, például a hitelesítő adatok, a GitHub személyes hozzáférési jogkivonatai és más biztonságos információk. A lehetséges biztonsági kockázatok elkerülése érdekében körültekintően járjon el, ezért fontos elkerülni, hogy a bizalmas adatokat a diagnosztikai naplózásnak alávetett parancssorokban vagy URI-kban is szerepeljen.

Tevékenységforgatókönyvek

Az ACR Tasks számos forgatókönyvet támogat tárolólemezképek és egyéb összetevők létrehozásához és karbantartásához. A részletekért tekintse meg a cikk következő szakaszait.

Minden ACR-tevékenységhez tartozik egy forráskódkörnyezet – a tárolólemezképek vagy más összetevők létrehozásához használt forrásfájlok halmazának helye. Ilyen például egy Git-adattár vagy egy helyi fájlrendszer.

A feladatok a futtatási változók előnyeit is kihasználhatják, így újra felhasználhatja a feladatdefiníciókat, és szabványosíthatja a képek és összetevők címkéit.

Gyors feladat

A belső hurok fejlesztési ciklusa, a kód írásának, az alkalmazás létrehozásának és tesztelésének iteratív folyamata, mielőtt véglegesítené a forráskövetést, valójában a tároló életciklus-kezelésének kezdete.

Az első kódsor véglegesítése előtt az ACR Tasks gyorsfeladat-funkciója integrált fejlesztési élményt nyújthat a tárolórendszerkép-buildek Azure-ba való kiszervezésével. A gyors feladatok segítségével ellenőrizheti az automatikus builddefiníciókat, és a kód véglegesítése előtt észlelheti a lehetséges problémákat.

Az Azure CLI-ben az az acr buildelési parancs a megszokott docker build formátum használatával kontextust(a buildelendő fájlok készletét) használ, elküldi az ACR Tasksnek, és alapértelmezés szerint a befejezéskor leküldi a beépített rendszerképet a beállításjegyzékbe.

Bevezetésként tekintse meg a tárolórendszerképek Azure Container Registryben való létrehozásának és futtatásának rövid útmutatójában.

Az ACR-feladatok tároló-életciklus primitívként lettek kialakítva. Integrálhatja például az ACR-feladatokat a CI/CD-megoldásba. Az az login szolgáltatásnévvel való végrehajtásával a CI/CD-megoldás ezután kiadhatja az az acr buildparancsokat a rendszerkép-buildek elindításához.

Megtudhatja, hogyan használhat gyors feladatokat az első ACR-feladatok oktatóanyagban, a tárolórendszerképek felhőben való buildeléséhez az Azure Container Registry Tasks használatával.

Tipp.

Ha közvetlenül a forráskódból szeretne létrehozni és leküldni egy képet Dockerfile nélkül, az Azure Container Registry biztosítja az az acr pack build parancsot (előzetes verzió). Ez az eszköz létrehoz és leküld egy képet az alkalmazás forráskódjából a Cloud Native Buildpacks használatával.

Feladat aktiválása a forráskód frissítésén

Tárolórendszerkép-összeállítási vagy többlépéses feladat aktiválása kód véglegesítésekor, illetve lekéréses kérelem végrehajtásakor vagy frissítésekor a GitHubon vagy az Azure DevOpsban található nyilvános vagy privát Git-adattárba. Konfiguráljon például egy buildelési feladatot az Azure CLI-paranccsal az acr task create paranccsal egy Git-adattár, valamint opcionálisan egy ág és egy Dockerfile megadásával. Amikor a csapat frissíti a kódot az adattárban, az ACR Tasks által létrehozott webhook elindítja az adattárban definiált tárolórendszerkép buildét.

Az ACR-feladatok a következő eseményindítókat támogatják, ha a Tevékenység környezeteként beállít egy Git-adattárat:

Eseményindító Alapértelmezés szerint engedélyezve
Véglegesítés Igen
Lekéréses kérelem Nem

Feljegyzés

Az ACR Tasks jelenleg nem támogatja a véglegesítési vagy lekéréses kérelmek eseményindítóit a GitHub Enterprise-adattárakban.

Megtudhatja, hogyan aktiválhat buildeket a forráskód véglegesítésén a második ACR Tasks oktatóanyagban, amely a tárolórendszerképek összeállításának automatizálása az Azure Container Registry Tasks használatával.

Személyes hozzáférési jogkivonat

A forráskódfrissítési eseményindító konfigurálásához meg kell adnia a feladatnak egy személyes hozzáférési jogkivonatot (PAT) a webhook nyilvános vagy privát GitHub- vagy Azure DevOps-adattárban való beállításához. A PAT-hez szükséges hatókörök a következők:

Adattár típusa GitHub DevOps
Nyilvános adattár adattár:állapot
public_repo
Kód (olvasás)
Privát adattár adattár (teljes hozzáférés) Kód (olvasás)

Pat létrehozásához tekintse meg a GitHub vagy az Azure DevOps dokumentációját.

Operációs rendszer és keretrendszer javításának automatizálása

Az ACR-feladatoknak az a képessége, hogy valóban hatékonyabbá tehesse a tároló buildelési munkafolyamatát, abból a képességből fakad, hogy képes észlelni az alaprendszerkép frissítését. A legtöbb tárolórendszerkép egyik funkciója, az alaprendszerkép egy szülőrendszerkép, amelyen egy vagy több alkalmazáskép alapul. Az alaprendszerképek általában tartalmazzák az operációs rendszert és néha az alkalmazás-keretrendszereket.

Beállíthat egy ACR-feladatot az alaprendszerkép függőségeinek nyomon követésére az alkalmazáslemezképek létrehozásakor. Ha a frissített alaprendszerképet leküldi a beállításjegyzékbe, vagy egy alaprendszerkép frissül egy nyilvános adattárban, például a Docker Hubban, az ACR Tasks automatikusan létrehozhat minden alkalmazásrendszerképet az alapján. Ezzel az automatikus észleléssel és újraépítéssel az ACR Tasks időt és erőfeszítést takarít meg, amely általában szükséges a frissített alaprendszerképre hivatkozó minden egyes alkalmazásrendszerkép manuális nyomon követéséhez és frissítéséhez.

További információ az ACR-feladatok alaprendszerkép-frissítési eseményindítóiról. Megtudhatja, hogyan aktiválhat rendszerkép-összeállítást, ha egy alaprendszerképet leküld egy tárolóregisztrációs adatbázisba az oktatóanyagban a tárolórendszerkép-buildek automatizálása, amikor egy alaprendszerkép frissül egy Azure-tárolóregisztrációs adatbázisban

Feladat ütemezése

Igény szerint ütemezhet egy tevékenységet úgy, hogy beállít egy vagy több időzítő-eseményindítót a tevékenység létrehozásakor vagy frissítésekor. A feladatok ütemezése akkor hasznos, ha a tároló számítási feladatait meghatározott ütemezés szerint futtatja, vagy karbantartási műveleteket vagy teszteket futtat a rendszerképeken, amelyeket rendszeresen leküld a beállításjegyzékbe. További részletekért lásd : ACR-feladat futtatása meghatározott ütemezés szerint.

Többlépéses feladatok

A többlépéses feladatok lépésalapú feladatdefiníciót és végrehajtást biztosítanak a tárolólemezképek felhőbeli létrehozásához, teszteléséhez és javításához. A YAML-fájlban definiált feladatlépések egyedi buildelési és leküldési műveleteket határoznak meg tárolólemezképekhez vagy más összetevőkhöz. Emellett egy vagy több tároló végrehajtását is definiálhatják; a lépések a tárolót használják végrehajtási környezetnek.

Létrehozhat például egy többlépéses feladatot, amely automatizálja a következőket:

  1. Webalkalmazás-rendszerkép létrehozása
  2. A webalkalmazás-tároló futtatása
  3. Webalkalmazás tesztképének létrehozása
  4. Futtassa a webalkalmazás teszttárolót, amely teszteket végez a futó alkalmazástárolón
  5. Ha a tesztek sikeresek, hozzon létre egy Helm-diagram archív csomagot
  6. helm upgrade Az új Helm-diagramarchívumcsomag használata

A többlépéses feladatok lehetővé teszik a rendszerképek összeállításának, futtatásának és tesztelésének több lépésre való felosztását a lépések közötti függőségi támogatással. Az ACR Tasks többlépéses feladataival részletesebben szabályozhatja a képkészítést, a tesztelést és az operációs rendszert, valamint a keretrendszer javításával kapcsolatos munkafolyamatokat.

További információ a többlépéses feladatokról az ACR-feladatok többlépéses buildelési, tesztelési és javítási feladatainak futtatása során.

Környezetek helyei

Az alábbi táblázat példákat mutat be az ACR-feladatok támogatott környezeteinek helyszínére:

Környezet helye Leírás Példa
Helyi fájlrendszer Fájlok a helyi fájlrendszer könyvtárában. /home/user/projects/myapp
GitHub főág Nyilvános vagy privát GitHub-adattár fő (vagy egyéb alapértelmezett) ágán belüli fájlok. https://github.com/gituser/myapp-repo.git
GitHub-ág Egy nyilvános vagy privát GitHub-adattár adott ága. https://github.com/gituser/myapp-repo.git#mybranch
GitHub-almappák Fájlok egy almappában egy nyilvános vagy privát GitHub-adattárban. Példa az ág és az almappák specifikációjának kombinációjára. https://github.com/gituser/myapp-repo.git#mybranch:myfolder
GitHub-véglegesítés Konkrét véglegesítés egy nyilvános vagy privát GitHub-adattárban. Példa a véglegesítési kivonat (SHA) és az almappák specifikációjának kombinációjára. https://github.com/gituser/myapp-repo.git#git-commit-hash:myfolder
Azure DevOps-almappák Fájlok egy almappában egy nyilvános vagy privát Azure-adattárban. A példa az ág és az almappák specifikációjának kombinációját mutatja be. https://dev.azure.com/user/myproject/_git/myapp-repo#mybranch:myfolder
Távoli tarball Egy távoli webkiszolgáló tömörített archívumában lévő fájlok. http://remoteserver/myapp.tar.gz
Összetevő a tárolóregisztrációs adatbázisban OCI-összetevőfájlok egy tárolóregisztrációs adatbázis adattárában. oci://myregistry.azurecr.io/myartifact:mytag

Feljegyzés

Ha git-adattárat használ egy forráskódfrissítés által aktivált feladat környezeteként, meg kell adnia egy személyes hozzáférési jogkivonatot (PAT).

Képplatformok

Az ACR Tasks alapértelmezés szerint képeket készít a Linux operációs rendszerhez és az amd64 architektúrához. Adja meg azt a --platform címkét, amely windowsos vagy linuxos rendszerképeket hoz létre más architektúrákhoz. Adja meg az operációs rendszert, és opcionálisan egy támogatott architektúrát os/architektúra formátumban (például --platform Linux/arm). ARM-architektúrák esetén opcionálisan adjon meg egy változatot os/architecture/variant formátumban (például --platform Linux/arm64/v8: ):

OS Architektúra
Linux amd64
Kar
arm64
386
Windows amd64

A tevékenység kimenetének megtekintése

Minden tevékenységfuttatás naplókimenetet hoz létre, amelyet megvizsgálva megállapíthatja, hogy a feladat lépései sikeresen lefutottak-e. Amikor manuálisan aktivál egy tevékenységet, a rendszer a feladatfuttatás naplókimenetét a konzolra streameli, és későbbi lekérés céljából tárolja. Ha egy feladat automatikusan aktiválódik, például egy forráskód véglegesítése vagy egy alaprendszerkép-frissítés, a rendszer csak a tevékenységnaplókat tárolja. Tekintse meg a futtatási naplókat az Azure Portalon, vagy használja az az acr feladatnaplók parancsot.

További információ a feladatnaplók megtekintéséről és kezeléséről.

Következő lépések

Ha készen áll a tárolólemezképek felhőbeli összeállításának és karbantartásának automatizálására, tekintse meg az ACR Tasks oktatóanyag-sorozatát.

Ha szeretné, telepítse a Docker-bővítményt a Visual Studio Code-hoz és az Azure-fiókbővítményt az Azure-tárolóregisztrációs adatbázisokkal való együttműködéshez. Lekérheti és leküldheti a rendszerképeket egy Azure-tárolóregisztrációs adatbázisba, vagy futtathatja az ACR-feladatokat a Visual Studio Code-ban.