Megosztás a következőn keresztül:


Tárolórendszerképek összeállításának és karbantartásának automatizálása az Azure Container Registry-feladatokkal

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

Az Azure Container Registry-feladatok olyan funkciókból állnak, amelyek:

  • Felhőalapú tárolórendszerkép-építés biztosítása olyan platformokhoz, mint a Linux, a Windows és az ARM.
  • Az alkalmazásfejlesztési ciklus korai részeinek kiterjesztése a felhőre igény szerinti tárolórendszerkép-buildekkel.
  • Engedélyezze 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.

Az alaprendszerkép frissítéseinek eseményindítóival például automatizálhatja a Docker-tárolók operációs rendszerének és keretrendszerének javítását . Ezek az eseményindítók segíthetnek a biztonságos környezetek fenntartásában, miközben betartják a nem módosítható tárolók alapelveit.

Fontos

Az Azure Container Registry-feladatfuttatások ideiglenesen szünetelnek az Ingyenes Azure-kreditekből. Ez a szüneteltetés hatással lehet a meglévő tevékenységfuttatásra. 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.

Figyelmeztetés

A parancssorban vagy az URI részeként megadott információk az Azure Container Registry diagnosztikai nyomkövetésének részeként naplózhatók. Ezek az információk olyan bizalmas adatokat tartalmaznak, mint a hitelesítő adatok és a GitHub személyes hozzáférési jogkivonatai. A lehetséges biztonsági kockázatok elkerülése érdekében körültekintően járjon el. Ne adjon meg bizalmas adatokat a diagnosztikai naplózás hatálya alá tartozó parancssorokon vagy URI-kon.

Tevékenységforgatókönyvek

Az Azure Container Registry-feladatok számos forgatókönyvet támogatnak a tárolólemezképek és egyéb összetevők létrehozásához és karbantartásához. Ez a cikk a gyors feladatokat, az automatikusan aktivált tevékenységeket és a többlépéses feladatokat ismerteti.

Minden tevékenységhez tartozik egy forráskódkörnyezet, amely a tárolólemezképek vagy más összetevők létrehozásához használt forrásfájlok helye. Ilyen például egy Git-adattár és 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 feladatok

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íti a forrásvezérlést. Ez valójában a tároló életciklus-kezelésének kezdete.

Az Azure Container Registry-feladatok gyorsfeladat-funkciója integrált fejlesztési élményt nyújthat a tárolórendszerkép-buildek Azure-ba való kiszervezésével. Igény szerint létrehozhat és leküldhet egyetlen tárolórendszerképet egy tárolóregisztrációs adatbázisba az Azure-ban, helyi Docker Engine-telepítés nélkül. Gondoljon, docker builddocker push a felhőben. Gyors feladatokkal ellenőrizheti az automatikus builddefiníciókat, és észlelheti a lehetséges problémákat a kód véglegesítése előtt.

Az Azure CLI-ben az az acr buildelési parancs az ismerős docker build formátum használatával kontextust vesz fel. A parancs ezután elküldi a környezetet az Azure Container Registrynek, és (alapértelmezés szerint) leküldi a beépített rendszerképet a beállításjegyzékbe a befejezéskor.

Az Azure Container Registry-feladatok tároló-életciklus primitívként vannak kialakítva. Integrálhatja például az Azure Container Registry-feladatokat a folyamatos integrációs és folyamatos kézbesítési (CI/CD) megoldásba. Ha egy szolgáltatásnévvel futtatja az bejelentkezést, a CI/CD-megoldás kiadhatja az az acr buildparancsokat a rendszerkép-buildek indításához.

A gyorsműveletek használatának megismeréséhez tekintse meg a tárolólemezképek Azure Container Registry-feladatok használatával történő létrehozására és üzembe helyezésére vonatkozó rövid útmutatót és oktatóanyagot .

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.

Automatikusan aktivált tevékenységek

Egy vagy több eseményindító engedélyezése lemezkép létrehozásához.

Feladat aktiválása forráskódfrissítésen

A kód véglegesítésekor vagy lekéréses kérések végrehajtásakor vagy frissítésekor elindíthat egy tárolórendszerkép-összeállítási vagy többlépéses feladatot egy nyilvános vagy privát Git-adattárba a GitHubon vagy az Azure DevOpsban. 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 Azure Container Registry-feladatokban létrehozott webhook elindítja az adattárban definiált tárolórendszerkép buildét.

Az Azure Container Registry-feladatok a következő eseményindítókat támogatják, amikor a Git-adattárat feladatkörnyezetként állítja be:

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

Feljegyzés

Az Azure Container Registry-feladatok jelenleg nem támogatják a véglegesítési vagy lekéréses kérelmek eseményindítóit a GitHub Enterprise-adattárakban.

A buildek forráskód-véglegesítéseken való aktiválásáról további információt az Azure Container Registry-feladatokkal végzett tárolórendszerkép-buildek automatizálása című témakörben talál.

Személyes hozzáférési jogkivonat

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

Adattár típusa GitHub Azure 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)

Személyes hozzáférési jogkivonat 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 Azure Container Registry-feladatoknak a tároló buildelési munkafolyamatának továbbfejlesztésére való képessége abból fakad, hogy képesek észlelni az alaprendszerkép frissítését. Az alaprendszerkép a legtöbb tárolórendszerkép funkciója. Ez egy szülőrendszerkép, amelyen egy vagy több alkalmazáskép alapul. Az alaprendszerképek általában az operációs rendszert és néha az alkalmazás-keretrendszereket tartalmazzák.

Beállíthat egy Azure Container Registry-feladatot, hogy nyomon kövesse az alaprendszerkép függőségét, amikor alkalmazásrendszerképet hoz létre. Amikor 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 Azure Container Registry-feladatok automatikusan létrehozhatnak minden alkalmazásrendszerképet az alapján. Ezzel az automatikus észleléssel és újraépítéssel az Azure Container Registry-feladatok időt és erőfeszítést takaríthatnak meg, ami általában szükséges a frissített alaprendszerképre hivatkozó alkalmazásképek manuális nyomon követéséhez és frissítéséhez.

További információ : Az Azure Container Registry-feladatok alaprendszerkép-frissítései és oktatóanyag: Tárolórendszerkép-buildek automatizálása alaprendszerkép azure-tárolóregisztrációs adatbázisban való frissítésekor.

Feladat ütemezése

A feladat ütemezéséhez állítson be 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 információ: Azure Container Registry-feladat futtatása meghatározott ütemezés szerint.

Többlépéses feladatok

Az Azure Container Registry-feladatok egy rendszerképes buildelési és leküldéses funkciójának kiterjesztése több tárolón alapuló többlépéses munkafolyamatokkal.

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ő lépéseket:

  1. Webalkalmazás-rendszerkép létrehozása.
  2. Futtassa a webalkalmazás-tárolót.
  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-diagramarchívumcsomagot.
  6. helm upgrade Feladat végrehajtása az új Helm-diagramarchívumcsomag használatával.

A többlépéses feladatok lehetővé teszik a rendszerképek összeállítását, futtatását és tesztelését összeállítható lépésekre, a lépések közötti függőségi támogatással. Az Azure Container Registry-feladatok többlépéses feladataival részletesebben szabályozhatja a rendszerképek készítéséhez, teszteléséhez és operációs rendszeréhez, valamint a keretrendszer javításához szükséges munkafolyamatokat.

További információ a többlépéses buildelési, tesztelési és javítási feladatok futtatásáról az Azure Container Registry-feladatokban.

Környezetek helyei

Az alábbi táblázat példákat mutat be az Azure Container Registry-feladatok támogatott környezeteinek helyé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. A példa egy ág és egy almappák specifikációjának kombinációját mutatja be. 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. A példa a véglegesítési kivonat (SHA) és az almappák specifikációjának kombinációját mutatja be. 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 Fájlok egy távoli webkiszolgáló tömörített archívumában. 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.

Képplatformok

Alapértelmezés szerint az Azure Container Registry-feladatok rendszerképeket építenek ki 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
ARM
ARM64
386
Windows AMD64

Tevékenység kimenete

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 feladatot, a rendszer streameli a feladatfuttatás naplókimenetét a konzolra, és későbbi lekérés céljából tárolja. Ha egy tevékenység automatikusan aktiválódik (például forráskód véglegesítése vagy 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.