Continue implementatie naar Azure App Service

Azure-app Service maakt continue implementatie mogelijk vanuit GitHub-, Bitbucket- en Azure Repos-opslagplaatsen door de meest recente updates op te halen.

Notitie

De pagina Development Center (klassiek) in Azure Portal, een eerdere versie van de implementatiefunctionaliteit, is in maart 2021 afgeschaft. Deze wijziging heeft geen invloed op bestaande implementatie-instellingen in uw app en u kunt de implementatie van apps blijven beheren vanaf de pagina Implementatiecentrum in de portal.

Uw opslagplaats voorbereiden

Als u geautomatiseerde builds wilt ophalen van Azure-app Service-buildserver, moet u ervoor zorgen dat de hoofdmap van uw opslagplaats de juiste bestanden in uw project heeft.

Runtime Bestanden in hoofdmap
ASP.NET (alleen Windows) *.sln, *.csproj of default.aspx
ASP.NET Core *.sln of *.csproj
PHP index.php
Ruby (alleen Linux) Gemfile
Node.js server.js, app.js of package.json met een startscript
Python *.py, requirements.txt of runtime.txt
HTML default.htm, default.html, default.asp, index.htm, index.html of iisstart.htm
WebJobs <>job_name/uitvoeren.<extensie> onder App_Data/taken/doorlopend voor continue webtaken of App_Data/jobs/geactiveerd voor geactiveerde webtaken. Zie Kudu WebJobs documentation (Documentatie over Kudu WebJobs) voor meer informatie.
Functies Zie Continue implementatie voor Azure Functions.

Als u uw implementatie wilt aanpassen, neemt u een DEPLOYMENT-bestand op in de hoofdmap van de opslagplaats. Zie Customize deployments (Implementaties aanpassen) en Custom deployment script (Aangepast implementatiescript) voor meer informatie.

Notitie

Als u Visual Studio gebruikt, laat u Visual Studio een opslagplaats voor u maken. Uw project is onmiddellijk klaar voor implementatie via Git.

De implementatiebron configureren

  1. Ga in Azure Portal naar de beheerpagina voor uw App Service-app.

  2. Selecteer Implementatiecentrum in het linkerdeelvenster. Selecteer vervolgens Instellingen.

  3. Selecteer in het vak Bron een van de CI/CD-opties:

    Screenshot that shows how to choose the deployment source.

Selecteer het tabblad dat overeenkomt met uw buildprovider om door te gaan.

  1. GitHub Actions is de standaard buildprovider. Als u de provider wilt wijzigen, selecteert u App>Service Build Service (Kudu) >wijzigen.

    Notitie

    Als u Azure Pipelines wilt gebruiken als buildprovider voor uw App Service-app, configureert u CI/CD rechtstreeks vanuit Azure Pipelines. Configureer deze niet in App Service. Met de optie Azure Pipelines wordt u in de juiste richting verwezen.

  2. Als u voor het eerst vanuit GitHub implementeert, selecteert u Autoriseren en volgt u de autorisatieprompts. Als u wilt implementeren vanuit de opslagplaats van een andere gebruiker, selecteert u Account wijzigen.

  3. Nadat u uw Azure-account hebt geautoriseerd met GitHub, selecteert u de organisatie, opslagplaats en vertakking om CI/CD voor te configureren.

    Als u een organisatie of opslagplaats niet kunt vinden, moet u mogelijk meer machtigingen inschakelen op GitHub. Zie Toegang tot de opslagplaatsen van uw organisatie beheren voor meer informatie.

  4. (Preview) Selecteer onder Verificatietype de door de gebruiker toegewezen identiteit voor betere beveiliging. Zie veelgestelde vragen voor meer informatie.

  5. Wanneer GitHub Actions is geselecteerd als buildprovider, kunt u het gewenste werkstroombestand selecteren met behulp van de vervolgkeuzelijsten Runtimestack en Versie . Azure zet dit werkstroombestand door in uw geselecteerde GitHub-opslagplaats om build- en implementatietaken af te handelen. Als u het bestand wilt zien voordat u de wijzigingen opslaat, selecteert u Voorbeeldbestand.

    Notitie

    App Service detecteert de taalstackinstelling van uw app en selecteert de meest geschikte werkstroomsjabloon. Als u een andere sjabloon kiest, wordt mogelijk een app geïmplementeerd die niet goed wordt uitgevoerd. Zie Hoe de GitHub Actions-buildprovider werkt voor meer informatie.

  6. Selecteer Opslaan.

    Nieuwe doorvoeringen in de geselecteerde opslagplaats en vertakking worden nu continu geïmplementeerd in uw App Service-app. U kunt de doorvoeringen en implementaties bijhouden op het tabblad Logboeken .

Continue implementatie uitschakelen

  1. Ga in Azure Portal naar de beheerpagina voor uw App Service-app.

  2. Selecteer Implementatiecentrum in het linkerdeelvenster. Selecteer vervolgens Instellingen> Disconnect:

    Screenshot that shows how to disconnect your cloud folder sync with your App Service app in the Azure portal.

  3. Het werkstroombestand van GitHub Actions blijft standaard behouden in uw opslagplaats, maar blijft de implementatie naar uw app activeren. Als u het bestand uit uw opslagplaats wilt verwijderen, selecteert u Werkstroombestand verwijderen.

  4. Selecteer OK.

Wat gebeurt er met mijn app tijdens de implementatie?

Alle officieel ondersteunde implementatiemethoden brengen wijzigingen aan in de bestanden in de map /home/site/wwwroot van uw app. Deze bestanden worden gebruikt om uw app uit te voeren. De implementatie kan dus mislukken vanwege vergrendelde bestanden. De app kan zich ook onvoorspelbaar gedragen tijdens de implementatie, omdat de bestanden niet allemaal tegelijk worden bijgewerkt. Dit gedrag is ongewenst voor een klantgerichte app. Er zijn een paar manieren om deze problemen te voorkomen:

Veelgestelde vragen

Hoe werkt de GitHub Actions-buildprovider?

De Build-provider van GitHub Actions is een optie voor CI/CD vanuit GitHub. De volgende acties worden uitgevoerd om CI/CD in te stellen:

  • Zet een Werkstroombestand voor GitHub Actions op in uw GitHub-opslagplaats voor het afhandelen van build- en implementatietaken in App Service.
  • Hiermee voegt u het publicatieprofiel voor uw app toe als GitHub-geheim. In het werkstroombestand wordt dit geheim gebruikt om te verifiëren met App Service.
  • Legt gegevens vast uit de logboeken van de werkstroomuitvoering en geeft deze weer op het tabblad Logboeken in het Implementatiecentrum van uw app.

U kunt de Build-provider voor GitHub Actions op de volgende manieren aanpassen:

  • Pas het werkstroombestand aan nadat het is gegenereerd in uw GitHub-opslagplaats. Zie Werkstroomsyntaxis voor GitHub Actions voor meer informatie. Zorg ervoor dat de werkstroom wordt geïmplementeerd in App Service met de actie Azure/webapps-deploy .
  • Als de geselecteerde vertakking is beveiligd, kunt u nog steeds een voorbeeld van het werkstroombestand bekijken zonder de configuratie op te slaan en deze vervolgens handmatig toe te voegen aan uw opslagplaats. Deze methode biedt u geen logboekintegratie met Azure Portal.
  • In plaats van een door de gebruiker toegewezen beheerde identiteit of het publicatieprofiel te gebruiken, kunt u ook implementeren met behulp van een service-principal in Microsoft Entra-id.

Hoe kan ik continue implementatie configureren zonder basisverificatie?

Als u continue implementatie wilt configureren zonder basisverificatie, gebruikt u GitHub Actions met de door de gebruiker toegewezen identiteitsoptie .

Wat doet de door de gebruiker toegewezen identiteitsoptie voor GitHub Actions?

Wanneer u door de gebruiker toegewezen identiteit selecteert onder de GitHub Actions-bron, maakt Azure een door de gebruiker beheerde identiteit voor u en federatieve identiteit met GitHub als geautoriseerde client. Deze door de gebruiker beheerde identiteit wordt niet weergegeven op de pagina Identiteiten voor uw app.

Deze automatisch gemaakte door de gebruiker beheerde identiteit mag alleen worden gebruikt voor de implementatie van GitHub Actions. Het gebruik ervan voor andere configuraties wordt niet ondersteund.

Ik zie 'U beschikt niet over voldoende machtigingen voor deze app om op rollen gebaseerde toegang toe te wijzen aan een beheerde identiteit en federatieve referenties te configureren'. Wanneer ik de door de gebruiker toegewezen identiteit selecteer met GitHub Actions.

Als u de door de gebruiker toegewezen identiteit wilt gebruiken voor uw GitHub Actions-implementatie, hebt u de Microsoft.Authorization/roleAssignments/write machtiging voor uw app nodig. De rol Gebruikerstoegang Beheer istrator en de rol Eigenaar hebben standaard al deze machtiging, maar de rol Inzender niet.

Hoe kan ik implementeren vanuit andere opslagplaatsen

Voor Windows-apps kunt u handmatig continue implementatie configureren vanuit een Git- of Mercurial-opslagplaats in de cloud die niet rechtstreeks door de portal wordt ondersteund, zoals GitLab. U doet dit door Externe Git te selecteren in de vervolgkeuzelijst Bron. Zie Continue implementatie instellen met behulp van handmatige stappen voor meer informatie.

Meer resources