Löpande distribution för Azure Functions
Med Azure Functions kan du kontinuerligt distribuera ändringarna som gjorts i en källkontrolllagringsplats till en ansluten funktionsapp. Den här källkontrollintegreringen möjliggör ett arbetsflöde där en koduppdatering utlöser bygge, paketering och distribution från projektet till Azure.
Du bör alltid konfigurera kontinuerlig distribution för en mellanlagringsplats och inte för produktionsplatsen. När du använder produktionsplatsen skickas koduppdateringar direkt till produktion utan att verifieras i Azure. Aktivera i stället kontinuerlig distribution till ett mellanlagringsfack, verifiera uppdateringar i mellanlagringsplatsen och när allt har körts korrekt kan du växla mellanlagringsfackets kod till produktion. Om du ansluter till en produktionsplats kontrollerar du att endast kod av produktionskvalitet gör den till den integrerade kodgrenen.
Steg i den här artikeln visar hur du konfigurerar kontinuerliga koddistributioner till din funktionsapp i Azure med hjälp av Distributionscenter i Azure-portalen. Du kan också konfigurera kontinuerlig integrering med hjälp av Azure CLI. De här stegen kan vara inriktade på antingen en mellanlagring eller en produktionsplats.
Functions stöder dessa källor för kontinuerlig distribution till din app:
Behåll projektkoden i Azure Repos, en av tjänsterna i Azure DevOps. Stöder både Versionskontroll för Git och Team Foundation. Används med Azure Pipelines-byggprovidern. Mer information finns i Vad är Azure-lagringsplatser?
Du kan också ansluta din funktionsapp till en extern Git-lagringsplats, men detta kräver en manuell synkronisering. Mer information om distributionsalternativ finns i Distributionstekniker i Azure Functions.
Kommentar
Alternativ för kontinuerlig distribution som beskrivs i den här artikeln är specifika för distributioner med endast kod. Information om distribution av containerbaserade funktionsappar finns i Aktivera kontinuerlig distribution av containrar till Azure.
Krav
Distributionsenheten för funktioner i Azure är funktionsappen. För att kontinuerlig distribution ska lyckas måste katalogstrukturen i projektet vara kompatibel med den grundläggande mappstrukturen som Azure Functions förväntar sig. När du skapar ditt kodprojekt med hjälp av Azure Functions Core Tools, Visual Studio Code eller Visual Studio används Azure Functions-mallarna för att skapa kodprojekt med rätt katalogstruktur. Alla funktioner i en funktionsapp distribueras samtidigt och i samma paket.
När du har aktiverat kontinuerlig distribution konfigureras åtkomsten till funktionskoden i Azure-portalen som skrivskyddad eftersom sanningskällan är känd för att finnas någon annanstans.
Kommentar
Distributionscentret stöder inte aktivering av kontinuerlig distribution för en funktionsapp med begränsningar för inkommande nätverk. Du måste i stället konfigurera arbetsflödet för byggprovidern direkt i GitHub eller Azure Pipelines. Dessa arbetsflöden kräver också att du använder en virtuell dator i samma virtuella nätverk som funktionsappen som antingen en lokalt installerad agent (Pipelines) eller en lokalt installerad löpare (GitHub).)
Välj en byggprovider
Att skapa kodprojektet är en del av distributionsprocessen. Den specifika byggprocessen beror på din specifika språkstack, operativsystem och värdplan. Byggen kan göras lokalt eller via fjärranslutning, igen beroende på din specifika värd. Mer information finns i Fjärrbygge.
Viktigt!
För ökad säkerhet bör du överväga att använda en byggprovider som stöder hanterade identiteter, inklusive Azure Pipelines och Gitub Actions. App Service-tjänsten (Kudu) kräver att du aktiverar grundläggande autentisering och arbetar med textbaserade autentiseringsuppgifter.
Functions har stöd för dessa byggleverantörer:
Azure Pipelines är en av tjänsterna i Azure DevOps och standardleverantör för Azure Repos-projekt. Du kan också använda Pipelines för att skapa projekt från GitHub. I Pipelines finns det en AzureFunctionApp
uppgift som är särskilt utformad för att distribuera till Azure Functions. Den här uppgiften ger dig kontroll över hur projektet skapas, paketeras och distribueras. Stöder hanterade identiteter.
Tänk på dessa leverantörers styrkor och begränsningar när du aktiverar källkontrollintegrering. Du kan behöva ändra källtypen för lagringsplatsen för att dra nytta av en viss provider.
Konfigurera kontinuerlig distribution
Azure-portalen tillhandahåller ett distributionscenter för dina funktionsappar, vilket gör det enklare att konfigurera kontinuerlig distribution. Det specifika sättet du konfigurerar kontinuerlig distribution på beror både på vilken typ av lagringsplats för källkontroll som koden finns i och vilken byggprovider du väljer.
I Azure-portalen bläddrar du till funktionsappsidan och väljer Distributionscenter under Distribution i den vänstra rutan.
Välj den källlagringsplatstyp där projektkoden underhålls från något av följande alternativ som stöds:
Distributioner från Azure-lagringsplatser som använder Azure Pipelines definieras i Azure DevOps-portalen och inte från din funktionsapp. En stegvis guide för att skapa en Pipelines-baserad distribution från Azure Repos finns i Kontinuerlig leverans med Azure Pipelines.
När distributionen är klar distribueras all kod från den angivna källan till din app. Vid den tidpunkten utlöser ändringar i distributionskällan en distribution av dessa ändringar i funktionsappen i Azure.
Aktivera kontinuerlig distribution när appen skapas
För närvarande kan du konfigurera kontinuerlig distribution från GitHub med GitHub Actions när du skapar din funktionsapp i Azure-portalen. Du kan göra detta på fliken Distribution på sidan Skapa funktionsapp .
Om du vill använda en annan distributionskälla eller byggprovider för kontinuerlig integrering skapar du först funktionsappen och återgår sedan till portalen och konfigurerar kontinuerlig integrering i Distributionscenter.
Aktivera grundläggande autentisering för distributioner
I vissa fall skapas din funktionsapp med grundläggande autentiseringsåtkomst till scm
slutpunkten inaktiverad. Detta blockerar publicering med alla metoder som inte kan använda hanterade identiteter för att komma åt scm
slutpunkten. Publiceringseffekterna av att ha scm
slutpunkten inaktiverad beskrivs i Distribution utan grundläggande autentisering.
Viktigt!
När du använder grundläggande autentisering skickas autentiseringsuppgifterna i klartext. För att skydda dessa autentiseringsuppgifter får du bara komma åt scm
slutpunkten via en krypterad anslutning (HTTPS) när du använder grundläggande autentisering. Mer information finns i Säker distribution.
Så här aktiverar du grundläggande autentisering till scm
slutpunkten:
Gå till funktionsappen i Azure-portalen.
I appens vänstra meny väljer du Inställningar>Konfiguration>Allmänna inställningar.
Ange autentiseringsuppgifter för SCM Basic Auth Publishing till På och välj sedan Spara.