Share via


Doorlopende implementatie voor Azure Functions

Met Azure Functions kunt u continu de wijzigingen in een opslagplaats voor broncodebeheer implementeren in een verbonden functie-app. Deze integratie van broncodebeheer maakt een werkstroom mogelijk waarin een code-update build, verpakking en implementatie activeert van uw project naar Azure.

U moet altijd continue implementatie configureren voor een staging-site en niet voor de productiesite. Wanneer u de productiesite gebruikt, worden code-updates rechtstreeks naar productie gepusht zonder te worden geverifieerd in Azure. Schakel in plaats daarvan continue implementatie in naar een staging-site, controleer updates in de staging-site en nadat alles correct wordt uitgevoerd, kunt u de staging-sitecode in productie wisselen. Als u verbinding maakt met een productiesite, moet u ervoor zorgen dat alleen code van productiekwaliteit deze in de geïntegreerde codevertakking maakt.

Stappen in dit artikel laten zien hoe u continue code-implementaties configureert voor uw functie-app in Azure met behulp van het Implementatiecentrum in Azure Portal. U kunt ook continue integratie configureren met behulp van de Azure CLI. Deze stappen kunnen zich richten op een fasering of een productiesite.

Functions ondersteunt deze bronnen voor continue implementatie in uw app:

Onderhoud uw projectcode in Azure-opslagplaatsen, een van de services in Azure DevOps. Ondersteunt zowel Git als Team Foundation Version Control. Wordt gebruikt met de buildprovider van Azure Pipelines. Zie Wat is Azure-opslagplaatsen voor meer informatie ?

U kunt uw functie-app ook verbinden met een externe Git-opslagplaats, maar hiervoor is handmatige synchronisatie vereist. Zie Implementatietechnologieën in Azure Functions voor meer informatie over implementatieopties.

Notitie

Opties voor continue implementatie die in dit artikel worden behandeld, zijn specifiek voor implementaties met alleen code. Zie Continue implementatie van containers van containers naar Azure inschakelen voor implementaties van functie-apps in containers.

Vereisten

De implementatie-eenheid voor functies in Azure is de functie-app. Voor een geslaagde continue implementatie moet de mapstructuur van uw project compatibel zijn met de basismapstructuur die Door Azure Functions wordt verwacht. Wanneer u uw codeproject maakt met behulp van Azure Functions Core Tools, Visual Studio Code of Visual Studio, worden de Azure Functions-sjablonen gebruikt om codeprojecten te maken met de juiste mapstructuur. Alle functies in een functie-app worden tegelijkertijd en in hetzelfde pakket geïmplementeerd.

Nadat u continue implementatie hebt ingeschakeld, wordt de toegang tot functiecode in Azure Portal geconfigureerd als alleen-lezen omdat de bron van waarheid ergens anders staat.

Notitie

Het Implementatiecentrum biedt geen ondersteuning voor het inschakelen van continue implementatie voor een functie-app met binnenkomende netwerkbeperkingen. U moet in plaats daarvan de werkstroom van de buildprovider rechtstreeks configureren in GitHub of Azure Pipelines. Voor deze werkstromen moet u ook een virtuele machine in hetzelfde virtuele netwerk gebruiken als de functie-app als een zelf-hostende agent (pijplijnen) of een zelf-hostende runner (GitHub).

Een buildprovider selecteren

Het bouwen van uw codeproject maakt deel uit van het implementatieproces. Het specifieke buildproces is afhankelijk van uw specifieke taalstack, besturingssysteem en hostingabonnement. Builds kunnen lokaal of extern worden uitgevoerd, afhankelijk van uw specifieke hosting. Zie Remote build voor meer informatie.

Belangrijk

Voor betere beveiliging kunt u overwegen een buildprovider te gebruiken die beheerde identiteiten ondersteunt, waaronder Azure Pipelines en Gitub Actions. Voor de App Service-service (Kudu) moet u basisverificatie inschakelen en werken met referenties op basis van tekst.

Functions ondersteunt deze buildproviders:

Azure Pipelines is een van de services in Azure DevOps en de standaardbuildprovider voor Azure-opslagplaatsprojecten. U kunt pijplijnen ook gebruiken om projecten te bouwen vanuit GitHub. In Pijplijnen is er een AzureFunctionApp taak die speciaal is ontworpen voor implementatie in Azure Functions. Deze taak biedt u controle over hoe het project wordt gebouwd, verpakt en geïmplementeerd. Ondersteunt beheerde identiteiten.

Houd rekening met de sterke punten en beperkingen van deze providers wanneer u integratie van broncodebeheer inschakelt. Mogelijk moet u het brontype van de opslagplaats wijzigen om te profiteren van een specifieke provider.

Continue implementatie inschakelen

Azure Portal biedt een implementatiecentrum voor uw functie-apps, waardoor het eenvoudiger is om continue implementatie te configureren. De specifieke manier waarop u continue implementatie configureert, is afhankelijk van het type opslagplaats voor broncodebeheer waarin uw code zich bevindt en de buildprovider die u kiest.

Blader in Azure Portal naar de pagina van uw functie-app en selecteer Implementatiecentrum onder Implementatie in het linkerdeelvenster.

Schermopname van het functie-app-implementatiecentrum in Azure Portal waar u uw bronopslagplaats kiest.

Selecteer het type bronopslagplaats waarin uw projectcode wordt onderhouden op basis van een van de volgende ondersteunde opties:

Implementaties van Azure-opslagplaatsen die gebruikmaken van Azure Pipelines worden gedefinieerd in de Azure DevOps-portal en niet vanuit uw functie-app. Zie Continue levering met Azure Pipelines voor een stapsgewijze handleiding voor het maken van een implementatie op basis van pijplijnen vanuit Azure-opslagplaatsen.

Nadat de implementatie is voltooid, wordt alle code van de opgegeven bron geïmplementeerd in uw app. Op dat moment activeren wijzigingen in de implementatiebron een implementatie van deze wijzigingen in uw functie-app in Azure.

Continue implementatie inschakelen tijdens het maken van apps

Op dit moment kunt u continue implementatie vanuit GitHub configureren met behulp van GitHub Actions wanneer u uw functie-app maakt in Azure Portal. U kunt dit doen op het tabblad Implementatie op de pagina Functie-app maken.

Als u een andere implementatiebron of buildprovider wilt gebruiken voor continue integratie, maakt u eerst uw functie-app en gaat u terug naar de portal en stelt u continue integratie in het Deployment Center in.

Basisverificatie inschakelen voor implementaties

In sommige gevallen wordt uw functie-app gemaakt met basisverificatietoegang tot het scm eindpunt uitgeschakeld. Hiermee blokkeert u het publiceren op alle methoden die geen beheerde identiteiten kunnen gebruiken voor toegang tot het scm eindpunt. De publicatie-effecten van het uitschakelen van het scm eindpunt worden beschreven in Implementatie zonder basisverificatie.

Belangrijk

Wanneer u basisverificatie gebruikt, worden referenties verzonden in duidelijke tekst. Als u deze referenties wilt beveiligen, moet u alleen toegang krijgen tot het scm eindpunt via een versleutelde verbinding (HTTPS) wanneer u basisverificatie gebruikt. Zie Secure deployment voor meer informatie.

Basisverificatie voor het scm eindpunt inschakelen:

  1. Navigeer in Azure Portal naar uw functie-app.

  2. Selecteer in het linkermenu van de app Instellingenconfiguratie>>algemene instellingen.

  3. Stel SCM Basic Auth Publishing Credentials in op Aan en selecteer Opslaan.

Volgende stappen