Home / Nieuws / Azure App Service implementeren zonder downtime met behulp van Azure Pipelines
23 maart 2023
Door: Sharmilla Sonavane

Azure App Service implementeren zonder downtime met behulp van Azure Pipelines

Azure App Service implementeren zonder downtime

Zero downtime-implementatie is een manier van implementatie waarbij de applicatie nooit zal uitvallen tijdens het implementatieproces. Hiermee kunnen we zonder downtime succesvol een nieuwe versie van een applicatie introduceren. Voor een Azure app service kan dat met slots.

  1. Maak een app-service met een standaard- of premiumplan om slots toe te voegen. (Gratis/basisplan omvat geen inzet van slots)
    Ga naar App-service deployment > Deployment slots. Standaard slotnaam is productie die in running status zal zijn.

 

2. Voeg een nieuwe slot toe, noem het “staging”

3. Haal code op in de repository en maak een pipeline. Ik heb een zeer eenvoudige asp.net-applicatie en de code zoals weergegeven op het volgende scherm:

4. Bij het bouwen van een pipeline hebben we geen instellingen nodig voor een specifiek slot, we kunnen gewoon alle stappen toevoegen die nodig zijn om de oplossing te bouwen. En zorg ervoor dat build-artifacts klaar zijn voor gebruik.

5. Maak een nieuwe service connection: we hebben deze nodig om verbinding te maken vanuit Azure Pipelines met remote app-services voor het uitvoeren van taken in een job. Nadat je een verbinding tot stand hebt gebracht, kun je de service connection bekijken, bewerken en beveiligen.

6. Maak een release pipeline om de toepassing op een slot te implementeren met behulp van de Azure App Service deployment template.

Om de applicatie op slot te implementeren, moet het selectievakje “Deploy to Slot or App Service Environment” True zijn. Selecteer de optie om te implementeren in een bestaande deployment slot of Azure App Service Environment. Voor beide doelen heeft de taak een ‘Resource group name’ nodig. Als het implementatiedoel een slot is, wordt de implementatie standaard uitgevoerd naar het productieslot. Elke andere bestaande slotnaam kan ook worden opgegeven. We hebben al een slot gemaakt met de naam “staging”.

Met deze release pipeline worden alle wijzigingen altijd geïmplementeerd in de staging-app. Op de stage-app is het mogelijk om te valideren dat alle wijzigingen werken zoals verwacht en vervolgens kunnen de wijzigingen worden omgewisseld naar het productieslot. Zoals we kunnen zien, zijn er veranderingen in de staging, maar niet in de productie.

Nu is het tijd om wijzigingen van staging naar productie om te wisselen. Open de webapp Overview > klik op Swap, het opent een panel waar we de source en target application kunnen selecteren en klik vervolgens op de Swap-knop in het panel.

Swap is de laatste stap van zero downtime implementatie die automatisch kan worden uitgevoerd met behulp van de App Service (Slot) staging (blogdemoapp/staging) > Configuration > General Settings > Auto swap enabled (on) > Auto swap-deployment (Production) > Save