A kép frissítése és a webalkalmazás automatikus ismételt üzembe helyezése
A folyamatos üzembe helyezés számos olyan gyorsan változó cég fontos funkciója. Gyorsan, de minimális felhajtással kell üzembe helyezniük a szoftver legújabb verzióját.
A példaforgatókönyvben a fejlesztői csoport rendszeresen bővíti új funkciókkal és fejlesztésekkel a webalkalmazást. Emiatt úgy döntöttek, hogy a folyamatos üzembe helyezés módszerét választják.
Ebben az egységben az Azure Container Registry egy lemezképét használó webalkalmazás folyamatos üzembe helyezését konfiguráljuk.
Mi az a webhook?
Az Azure App Service támogatja a webhookok használatával történő folyamatos üzembe helyezést. A webhook a Container Registry által kínált szolgáltatás. A szolgáltatások és alkalmazások feliratkozhatnak a webhookra, így értesítéseket kaphatnak az adatbázis lemezképeinek frissítéseiről. Az App Service-t használó webalkalmazás feliratkozhat egy Container Registry-webhookra, hogy értesítéseket kapjon a webalkalmazást tartalmazó rendszerkép frissítéseiről. Amikor a lemezkép frissül, az App Service értesítést kap, az alkalmazás pedig automatikusan újraindítja a webhelyet és lekéri a lemezkép legújabb verzióját.
Mi az Azure Container Registry-feladatok funkciója?
A Container Registry feladat funkciójával automatikusan újraépíthető a lemezkép, amikor annak forráskódja módosul. Konfigurálhat egy Container Registry-feladatot, amely a kódot tartalmazó GitHub-adattárat figyeli, és buildelést aktivál minden változáskor. Ha a buildelés sikeres, a Container Registry az adattárban tárolja a lemezképet. Ha a webalkalmazás folyamatos integrációhoz van beállítva az App Service-ben, értesítést kap a webhooktól, és frissíti az alkalmazást.
Ezt a két funkciót használhatja arra, hogy az App Service-ben engedélyezze a folyamatos integrációt.
Folyamatos integráció engedélyezése az App Service-ben
Az App Service-erőforrás Üzembehelyezési központ oldala az Azure Portalon automatizálja a folyamatos integráció beállítását. A Folyamatos üzembe helyezés beállítás bekapcsolásával az App Service úgy konfigurálja a Container Registry egyik webhookját, hogy az értesítsen egy App Service-végpontot. A végpontot elérő adatbázis-értesítések hatására az alkalmazás újraindul, és lekéri a tárolólemezkép legújabb verzióját.
Folyamatos integráció kiterjesztése a forráskövetésre egy Azure Container Registry-feladat használatával
A parancssorból létre kell hoznia a Container Registry-feladatokat. az acr build
A rendszerkép létrehozásához korábban futtatott paranccsal ellentétben a az acr task create
parancs létrehoz és regisztrál egy hosszú élettartamú feladatot.
A következő parancs egy buildwebapp nevű feladat létrehozását mutatja be. A feladat a modul által használt minta webalkalmazás GitHub-adattárát figyeli. A feladat minden módosításkor elkészíti a webimage
Docker-lemezképet a GitHub forráskódjából, majd a Container Registryben tárolja. A parancs futtatása előtt létre kell hoznia a GitHubhoz egy személyes hozzáférési tokent olyan engedélyekkel, melyek lehetővé teszik webhook létrehozását az adattárban. A tokennek privát adattárak esetén is teljes körű olvasási engedélyekkel kell rendelkeznie.
az acr task create --registry <container_registry_name> --name buildwebapp --image webimage --context https://github.com/MicrosoftDocs/mslearn-deploy-run-container-app-service.git --file Dockerfile --git-access-token <access_token>