De installatiekopie bijwerken en de web-app automatisch opnieuw implementeren

Voltooid

Continue implementatie is een belangrijke functie voor veel zich snel ontwikkelende organisaties. Ze moeten de meest recente versie van hun software snel implementeren, maar met zo weinig mogelijk gedoe.

In het voorbeeldscenario voegt het ontwikkelteam regelmatig nieuwe functies en verbeteringen toe aan de webtoepassing. Daarom heeft het team besloten om een aanpak voor continue implementatie in te voeren.

In dit gedeelte configureert u de continue implementatie van een web-app waarvoor een installatiekopie in Azure Container Registry wordt gebruikt.

Wat is een webhook?

Azure App Service ondersteunt continue implementatie met behulp van webhooks. Een webhook is een service die wordt aangeboden door Container Registry. Services en toepassingen kunnen zich aanmelden bij de webhook voor meldingen over updates van installatiekopieën in het register. Een web-app die gebruikmaakt van App Service, kan zich abonneren op een Container Registry-webhook om meldingen te ontvangen over updates van de installatiekopieën die de web-app bevat. Wanneer de installatiekopie wordt bijgewerkt en App Service een melding ontvangt, start uw app de site automatisch opnieuw op en haalt deze de meest recente versie van de installatiekopie op.

Wat is de azure Container Registry-takenfunctie?

U kunt de functie Taken van Container Registry gebruiken om uw installatiekopie automatisch te herbouwen wanneer de broncode wordt gewijzigd. U configureert een Container Registry-taak om de GitHub-opslagplaats met uw code in de gaten te houden en een build te activeren wanneer die verandert. Als de build succesvol is voltooid, kan Container Registry de installatiekopie opslaan in de opslagplaats. Als uw web-app is ingesteld voor continue integratie in App Service, ontvangt deze een melding via de webhook en wordt de app bijgewerkt.

We gebruiken deze twee functies om continue integratie vanuit de App Service in te schakelen.

Continue integratie inschakelen vanuit App Service

De pagina Containerinstellingen van een App Service-resource in de Azure-portal automatiseert de instelling van continue integratie. Als u Continue implementatie inschakelt, configureert App Service een webhook in uw Azure Container Registry-exemplaar om meldingen te versturen naar een App Service-eindpunt. Meldingen van het register die dit eindpunt bereiken, zorgen ervoor dat uw app opnieuw opstart en de nieuwste versie van de containerinstallatiekopie ophaalt.

Continue integratie uitbreiden naar broncodebeheer met behulp van een Azure Container Registry-taak

U moet Container Registry-taken maken vanaf de opdrachtregel. In tegenstelling tot de az acr build opdracht die we eerder hebben uitgevoerd om onze installatiekopieën te bouwen, maakt en registreert de az acr task create opdracht een taak met een lange levensduur.

De volgende opdracht toont hoe u een taak met de naam buildwebapp maakt. De taak bewaakt de GitHub-opslagplaats voor de voorbeeldweb-app die door deze module wordt gebruikt. Elke keer dat een wijziging wordt doorgevoerd, bouwt de taak de Docker-installatiekopie webimage vanuit de broncode in GitHub en bewaart de taak deze in uw register in Container Registry. Voordat u deze opdracht uitvoert, moet u een persoonlijk GitHub-toegangstoken maken met machtigingen voor het maken van een webhook in uw opslagplaats. Voor privé-opslagplaatsen heeft het token ook volledige leesmachtigingen voor de opslagplaats nodig.

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>