Implementeren naar App Service
Elk ontwikkelteam heeft unieke vereisten die het implementeren van een efficiënte implementatiepijplijn voor elke cloudservice lastig maken. App Service ondersteunt zowel geautomatiseerde als handmatige implementatie.
Geautomatiseerde implementatie
Geautomatiseerde implementatie, of continue implementatie, is een proces dat wordt gebruikt om nieuwe functies en bugfixes in een snel en terugkerend patroon te pushen, met minimale gevolgen voor eindgebruikers.
Azure ondersteunt geautomatiseerde implementatie rechtstreeks vanuit verschillende bronnen. De volgende opties zijn beschikbaar:
- Azure DevOps Services: u kunt uw code pushen naar Azure DevOps Services, uw code bouwen in de cloud, de tests uitvoeren, een release genereren van de code en ten slotte uw code pushen naar een Azure-web-app.
- GitHub: Azure ondersteunt geautomatiseerde implementatie rechtstreeks vanuit GitHub. Wanneer u uw GitHub-opslagplaats verbindt met Azure voor geautomatiseerde implementatie, worden wijzigingen die u naar uw productiebranch op GitHub pusht, automatisch voor u geïmplementeerd.
- Bitbucket: dit lijkt op GitHub. U kunt er een geautomatiseerde implementatie mee maken.
Handmatige implementatie
Er zijn enkele opties voor het handmatig pushen van uw code naar Azure:
- Git: App Service-web-apps bevatten een Git-URL die u kunt toevoegen als een externe opslagplaats. Als u pusht naar de externe opslagplaats, wordt uw app geïmplementeerd.
-
CLI:
webapp up
is een functie van deaz
opdrachtregelinterface waarmee uw app wordt verpakt en geïmplementeerd. In tegenstelling tot andere implementatiemethoden kanaz webapp up
een nieuwe App Service-web-app voor u maken. -
Zip deploy: Gebruik
curl
of een vergelijkbaar HTTP-hulpprogramma om een ZIP-bestand van uw toepassingsbestanden naar App Service te verzenden. - FTP/S: FTP of FTPS is een traditionele manier om uw code naar veel hostingomgevingen te pushen, waaronder App Service.
Implementatiesites gebruiken
Gebruik waar mogelijk implementatiesites bij het implementeren van een nieuwe productie-build. Wanneer u een Standard App Service Plan-laag of beter gebruikt, kunt u uw app implementeren in een faseringsomgeving en vervolgens uw faserings- en productiesites wisselen. Met de wisselbewerking worden de benodigde werkrolexemplaren opgewarmd zodat deze overeenkomen met uw productieschaal, waardoor downtime wordt geëlimineerd.
Code continu implementeren
Als uw project vertakkingen aanwijst voor testen, QA en fasering, moet elk van deze vertakkingen continu worden geïmplementeerd in een staging-site. Hierdoor kunnen uw belanghebbenden de geïmplementeerde vertakking eenvoudig beoordelen en testen.
Continu containers implementeren
Voor aangepaste containers van Azure Container Registry of andere containerregisters implementeert u de installatiekopieën in een staging-site en wisselt u over naar productie om downtime te voorkomen. De automatisering is complexer dan code-implementatie, omdat u de installatiekopieën naar een containerregister moet pushen en de installatiekopieëntag in de web-app moet bijwerken.
- Bouw en tag de installatiekopieën: als onderdeel van de build-pijplijn tagt u de installatiekopieën met de git-doorvoer-id, tijdstempel of andere identificeerbare informatie. Het is raadzaam om de standaardtag 'nieuwste' niet te gebruiken. Anders is het moeilijk om te traceren welke code momenteel wordt geïmplementeerd, waardoor foutopsporing veel moeilijker wordt.
- Push de getagde installatiekopie: zodra de installatiekopie is gemaakt en getagd, pusht de pijplijn de installatiekopie naar het containerregister. In de volgende stap haalt de implementatiesite de gelabelde installatiekopie op uit het containerregister.
- de implementatiesite bijwerken met de nieuwe installatiekopietag: wanneer deze eigenschap wordt bijgewerkt, wordt de site automatisch opnieuw opgestart en wordt de nieuwe containerinstallatiekopie opgehaald.
Sidecar-containers
In Azure App Service kunt u maximaal negen sidecarcontainers toevoegen voor elke aangepaste container-app waarvoor sidecar is ingeschakeld. Met Sidecar-containers kunt u extra services en functies implementeren in uw containertoepassing zonder deze nauw te koppelen aan uw hoofdtoepassingscontainer. U kunt bijvoorbeeld bewakings-, logboekregistratie-, configuratie- en netwerkservices toevoegen als sidecarcontainers.
U kunt een sidecarcontainer toevoegen via het Deployment Center op de beheerpagina van de app.