Průběžné nasazování do Azure App Service

Azure App Service umožňuje průběžné nasazování z GitHub, Bitbucketua Azure Repos načítá nejnovější aktualizace.

Poznámka

Stránka Vývojové centrum (Classic) v Azure Portal, starší verze funkce nasazení, byla v březnu 2021 zastaralá. Tato změna nemá vliv na stávající nastavení nasazení ve vaší aplikaci a můžete pokračovat ve správě nasazení aplikace ze stránky Deployment Center na portálu.

Příprava úložiště

Pokud chcete získat automatizovaná sestavení Azure App Service build serveru, ujistěte se, že kořenový adresář úložiště obsahuje správné soubory ve vašem projektu.

Runtime (Modul runtime) Soubory kořenového adresáře
ASP.NET (pouze Windows) *.sln, *.csproj nebo default.aspx
ASP.NET Core *.sln nebo *.csproj
PHP Index.php
Ruby (jenom Linux) Gemfile
Node.js server.js, app.js nebo package.jspomocí počátečního skriptu
Python * .py, requirements.txt, neboruntime.txt
HTML default.htm, default.html, default.asp, index.htm, index.html nebo iisstart.htm
WebJobs <job_name>/run.<extension> v části _ App Data/jobs/continuous for continuous WebJobs nebo App _ Data/jobs/triggered for triggered WebJobs. Další informace najdete v dokumentaci ke službě Kudu WebJobs.
Functions Viz Průběžné nasazování pro Azure Functions.

Pokud chcete nasazení přizpůsobit, zahrnte do kořenového adresáře úložiště soubor .deployment. Další informace najdete v tématu Přizpůsobení nasazení a Vlastní skript nasazení.

Poznámka

Pokud použijete Visual Studio, Visual Studio úložiště vytvořit za vás. Váš projekt bude okamžitě připraven k nasazení přes Git.

Konfigurace zdroje nasazení

  1. V Azure Portalpřejděte na stránku pro správu vaší App Service aplikace.

  2. V levém podokně vyberte Deployment Center. Pak vyberte Nastavení.

  3. V poli Zdroj vyberte jednu z možností CI/CD:

    Snímek obrazovky, který znázorňuje, jak zvolit zdroj nasazení

Pokračujte výběrem karty odpovídající vašemu poskytovateli sestavení.

  1. GitHub Actions je výchozí zprostředkovatel sestavení. Pokud chcete poskytovatele změnit, vyberte Změnit poskytovatele App Service > Build Service (Kudu) > OK.

    Poznámka

    Pokud chcete Azure Pipelines jako zprostředkovatele sestavení pro vaši App Service, nakonfigurujte CI/CD přímo z Azure Pipelines. Nekonfigurujte ji v App Service. Možnost Azure Pipelines vás nasměrovat správným směrem.

  2. Pokud nasazujete z GitHub, vyberte Autorizovat a postupujte podle pokynů k autorizaci. Pokud chcete aplikaci nasadit z úložiště jiného uživatele, vyberte Změnit účet.

  3. Po autorizaci účtu Azure u GitHub vyberte organizace, úložiště a větev, pro které chcete CI/CD nakonfigurovat. Pokud nemůžete najít organizaci nebo úložiště, možná budete muset povolit další oprávnění pro GitHub. Další informace najdete v tématu Správa přístupu k úložištům vaší organizace.

  4. Když GitHub zprostředkovatel sestavení vyberete Akce sestavení, můžete vybrat soubor pracovního postupu, který chcete, pomocí rozevíracích seznamů Zásobník modulu runtime a Verze. Azure potvrdí tento soubor pracovního postupu do vybraného úložiště GitHub pro zpracování úloh sestavení a nasazení. Pokud chcete soubor před uložením změn zobrazit, vyberte Náhled souboru.

    Poznámka

    App Service rozpozná nastavení zásobníku jazyka vaší aplikace a vybere nejvhodnější šablonu pracovního postupu. Pokud zvolíte jinou šablonu, může se nasazovat aplikace, která nefunguje správně. Další informace najdete v tématu Jak funguje zprostředkovatel sestavení GitHub Actions.

  5. Vyberte Uložit.

    Nová potvrzení ve vybraném úložišti a větev se teď průběžně nasazují do App Service aplikace. Potvrzení a nasazení můžete sledovat na kartě Protokoly.

Zakázání průběžného nasazování

  1. V Azure Portalpřejděte na stránku pro správu vaší App Service aplikace.

  2. V levém podokně vyberte Deployment Center. Pak vyberte Nastavení > Odpojit:

    Snímek obrazovky, který ukazuje, jak odpojit synchronizaci cloudových složek s vaší App Service aplikací v Azure Portal

  3. Soubor pracovního postupu GitHub Actions se ve výchozím nastavení zachová v úložišti, ale bude pokračovat v aktivaci nasazení do vaší aplikace. Pokud chcete soubor z úložiště odstranit, vyberte Odstranit soubor pracovního postupu.

  4. Vyberte OK.

Co se stane s aplikací během nasazování?

Všechny oficiálně podporované metody nasazení mění soubory ve složce /home/site/wwwroot vaší aplikace. Tyto soubory se používají ke spuštění vaší aplikace. Nasazení proto může selhat z důvodu uzamčených souborů. Aplikace se také může chovat nepředvídatelně během nasazování, protože všechny soubory nejsou aktualizovány najednou. Toto chování je nežádoucí pro aplikaci pro zákazníky. Existuje několik způsobů, jak se těmto problémům vyhnout:

Jak funguje zprostředkovatel sestavení GitHub Actions

Zprostředkovatel GitHub Actions sestavení je možnost CI/CD z GitHub. K nastavení CI/CD se dokončí tyto akce:

  • Do úložiště GitHub pracovní GitHub ch postupů GitHub Actions zařídí úlohy sestavení a nasazení, které App Service.
  • Přidá profil publikování pro vaši aplikaci jako tajný GitHub publikování. Soubor pracovního postupu používá tento tajný kód k ověření pomocí App Service.
  • Zaznamenává informace z protokolů spuštění pracovního postupu a zobrazuje je na kartě Protokoly v Centru nasazení vaší aplikace.

Poskytovatele sestavení GitHub Actions můžete přizpůsobit těmito způsoby:

  • Po vygenerování souboru pracovního postupu ve vašem úložišti GitHub pracovního postupu. Další informace najdete v tématu Syntaxe pracovního postupu pro GitHub akcí. Jen se ujistěte, že se pracovní postup App Service pomocí akce azure/webapps-deploy.
  • Pokud je vybraná větev chráněná, stále můžete zobrazit náhled souboru pracovního postupu bez uložení konfigurace a pak ji ručně přidat do úložiště. Tato metoda vám nedá integraci protokolů s Azure Portal.
  • Místo použití profilu publikování nasaďte pomocí instančního objektu v Azure Active Directory.

Ověřování pomocí objektu služby

Tato volitelná konfigurace nahrazuje výchozí ověřování profily publikování ve vygenerované souboru pracovního postupu.

  1. Instanční objekt vygeneruje příkazem az ad sp create-for-rbac v Azure CLI. V následujícím příkladu nahraďte <subscription-id> <group-name> , a <app-name> vlastními hodnotami:

    az ad sp create-for-rbac --name "myAppDeployAuth" --role contributor \
                                --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name> \
                                --sdk-auth
    

    Důležité

    V případě zabezpečení udělte k objektu služby minimální požadovaný přístup. Rozsah v předchozím příkladu je omezený na konkrétní aplikaci App Service, a ne na celou skupinu prostředků.

  2. Uložte celý výstup JSON pro další krok, včetně nejvyšší úrovně {} .

  3. V GitHubve svém úložišti vyberte Nastavení > Secrets Add a new > secret (Přidat nový tajný kód).

  4. Celý výstup JSON z příkazu Azure CLI vložte do pole hodnoty tajného kódu. Zadejte pro tajný kód název, například AZURE_CREDENTIALS .

  5. V souboru pracovního postupu vygenerovaném Centrem nasazení upravte krok tak, aby vypadal jako v následujícím příkladu (který se upravuje ze Node.js azure/webapps-deploy pracovního postupu):

    - name: Sign in to Azure 
    # Use the GitHub secret you added.
    - uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}
    - name: Deploy to Azure Web App
    # Remove publish-profile.
    - uses: azure/webapps-deploy@v2
      with:
        app-name: '<app-name>'
        slot-name: 'production'
        package: .
    - name: Sign out of Azure.
      run: |
        az logout
    

Nasazení z jiných úložišť

Pro Windows můžete ručně nakonfigurovat průběžné nasazování z cloudového úložiště Git nebo Mercurial, které portál přímo nepodporuje, jako je GitLab. To můžete udělat tak, že v rozevíracím seznamu Zdroj vyberete Externí Git. Další informace najdete v tématu Nastavení průběžného nasazování pomocí ručních kroků.

Další zdroje informací