Delen 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.

Je moet altijd continue implementatie configureren voor een staging-slot en niet voor de productie-slot. 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 productieslot, moet u ervoor zorgen dat alleen code van productiekwaliteit in de geïntegreerde codebranch terechtkomt.

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 stagingomgeving of een productiesleuf.

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 Repos? 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 naar Azure inschakelen voor containerized implementaties van functie-apps.

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 de Azure Portal geconfigureerd als alleen-lezen omdat de werkelijke bron elders is gespecificeerd.

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 (Azure Pipelines) 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 GitHub Actions. Voor de App 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 ook Azure Pipelines gebruiken om projecten te bouwen vanuit GitHub. In Azure Pipelines 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 Continu levering met Azure Pipelines voor een stapsgewijze handleiding voor het maken van een implementatie op basis van Azure Pipelines vanuit Azure Repos.

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 Implementeren zonder basisverificatie.

Belangrijk

Wanneer u basisverificatie gebruikt, worden inloggegevens als platte tekst verzonden. 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. Ga in Azure Portal naar uw functie-app.

  2. Selecteer inhet linkermenu van de appInstellingenconfiguratie>>algemene instellingen.

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

Volgende stappen