Aktualizace image a automatické opětovné nasazení webové aplikace

Dokončeno

Průběžné nasazování je klíčovou funkcí v mnoha rychle reagujících organizacích. Tyto organizace potřebují nasazovat nejnovější verze svého softwaru rychle, ale zároveň bez zbytečného povyku.

V ukázkovém scénáři přidává vývojový tým do webové aplikace pravidelně nové funkce a vylepšení. Z tohoto důvodu se tým rozhodl přijmout přístup průběžného nasazování.

V této lekci nakonfigurujete průběžné nasazování webové aplikace, která používá image v Azure Container Registry.

Co je webhook?

Služba Azure App Service podporuje průběžné nasazování prostřednictvím webhooků. Webhook je služba nabízená službou Container Registry. Služby a aplikace se můžou přihlásit k odběru webhooku, aby dostávaly oznámení o aktualizacích imagí v registru. Webová aplikace, která používá službu App Service, se může přihlásit k odběru webhooku Služby Container Registry, aby dostávala oznámení o aktualizacích image, která obsahuje webovou aplikaci. Když je image aktualizována a služba App Service obdrží oznámení, vaše aplikace automaticky restartuje web a vyžádá si nejnovější verzi image.

Co je funkce úloh služby Azure Container Registry?

Pomocí sady funkcí Úlohy služby Container Registry můžete automaticky znovu sestavit image při každé změně jejího zdrojového kódu. Nakonfigurujete úlohu služby Container Registry tak, aby monitorovala úložiště GitHub obsahující váš kód a při každé změně kódu aktivovala sestavení. Pokud je sestavení úspěšné, může služba Container Registry uložit image v úložišti. Pokud je vaše webová aplikace ve službě App Service nastavená na kontinuální integraci, obdrží prostřednictvím webhooku oznámení a aktualizuje aplikaci.

Pojďme teď pomocí těchto dvou funkcí povolit průběžnou integraci ze služby App Service.

Povolení kontinuální integrace pomocí uživatelského rozhraní služby App Service

K automatizaci nastavení kontinuální integrace slouží stránka Nastavení kontejneru prostředku služby App Service na webu Azure Portal. Když zapnete Průběžné nasazování, služba App Service nakonfiguruje v Container Registry webhook pro oznamování koncovému bodu služby App Service. Oznámení z registru, která dorazí do tohoto koncového bodu, způsobí restartování vaší aplikace a vyžádání nejnovější image kontejneru.

Rozšíření kontinuální integrace do správy zdrojového kódu pomocí úlohy Azure Container Registry

Úlohy služby Container Registry je nutné vytvořit z příkazového řádku. az acr build Na rozdíl od příkazu, který jsme spustili dříve pro sestavení image, az acr task create příkaz vytvoří a zaregistruje dlouhou úlohu.

Následující příkaz ukazuje, jak vytvořit úlohu s názvem buildwebapp. Úloha monitoruje úložiště GitHub pro ukázkovou webovou aplikaci, která tento modul používá. Úloha při každé potvrzené změně sestaví ze zdrojového kódu v GitHubu image Dockeru webimage a uloží ji do registru v Container Registry. Před spuštěním tohoto příkazu musíte vytvořit osobní přístupový token GitHubu s oprávněními k vytvoření webhooku ve vašem úložišti. U privátních úložišť bude token potřebovat také úplná oprávnění ke čtení z úložiště.

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>