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

Aplikace Azure Služba umožňuje průběžné nasazování z úložišť GitHub, Bitbucket a Azure Repos tím, že načítá nejnovější aktualizace.

Příprava úložiště

Pokud chcete z Aplikace Azure serveru sestavení služby získat automatizované buildy, ujistěte se, že má kořen úložiště správné soubory v projektu.

Šablona běhového prostředí Soubory kořenového adresáře
ASP.NET (jenom Windows) *.sln, *.csproj nebo default.aspx
ASP.NET Core *.sln nebo *.csproj
PHP index.php
Ruby (jenom Linux) Gemfile
Node.js server.js, app.jsnebo package.json pomocí spouštěcího skriptu
Python *.py, requirements.txt nebo runtime.txt
HTML default.htm, default.html, default.asp, index.htm, , index.htmlnebo iisstart.htm
WebJobs <job_name>/run.<extension> pro App_Data/jobs/continuous průběžné webové úlohy nebo App_Data/jobs/triggered pro aktivované webové úlohy. Další informace najdete v dokumentaci k webovým úlohám Kudu.
Functions Viz Průběžné nasazování pro Azure Functions.

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

Poznámka:

Pokud používáte Visual Studio, nechte Visual Studio vytvořit úložiště za vás. Váš projekt bude okamžitě připravený k nasazení prostřednictvím Gitu.

Konfigurace zdroje nasazení

  1. Na webu Azure Portal přejděte na stránku pro správu vaší aplikace App Service.

  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ý ukazuje, 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 změnit zprostředkovatele, vyberte Změnit zprostředkovatele>App Service Build Service>OK.

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

  3. Po autorizaci účtu Azure pomocí GitHubu vyberte požadovanou organizaci, úložiště a větev .

    Pokud nemůžete najít organizaci nebo úložiště, možná budete muset povolit další oprávnění na GitHubu. Další informace najdete v tématu Správa přístupu k úložištím vaší organizace.

  4. V části Typ ověřování vyberte Identitu přiřazenou uživatelem pro lepší zabezpečení. Další informace najdete v nejčastějších dotazech.

    Poznámka:

    Pokud má váš účet Azure požadovaná oprávnění pro možnost Identita přiřazená uživatelem, Azure pro vás vytvoří spravovanou identitu přiřazenou uživatelem. Pokud ne, ve spolupráci se správcem Azure vytvořte identitu s požadovanou rolí ve vaší aplikaci a pak ji vyberte v rozevíracím seznamu.

  5. (Volitelné) Pokud chcete soubor před uložením změn zobrazit, vyberte Náhled souboru. App Service vybere šablonu pracovního postupu na základě nastavení zásobníku jazyka vaší aplikace a potvrdí ji do vybraného úložiště GitHub.

  6. Zvolte Uložit.

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

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

  1. Na webu Azure Portal přejděte na stránku pro správu vaší aplikace App Service.

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

    Snímek obrazovky, který ukazuje, jak odpojit synchronizaci cloudové složky s aplikací App Service na webu Azure Portal

  3. Ve výchozím nastavení se v úložišti zachová soubor pracovního postupu GitHub Actions, ale i nadále aktivuje nasazení do vaší aplikace. Pokud chcete soubor odstranit z úložiště, vyberte Odstranit soubor pracovního postupu.

  4. Vyberte OK.

Co jsou poskytovatelé buildu?

V závislosti na zdroji nasazení v Centru nasazení se může zobrazit několik možností, které můžete vybrat pro poskytovatele sestavení. Poskytovatelé sestavení pomáhají sestavovat řešení CI/CD se službou Aplikace Azure Service tím, že automatizují sestavení, testování a nasazení.

Nejste omezeni na možnosti zprostředkovatele sestavení, které najdete v Centru nasazení, ale App Service vám umožňuje je rychle nastavit a nabízí některé integrované prostředí protokolování nasazení.

Poskytovatel sestavení GitHub Actions je dostupný jenom pro nasazení GitHubu. Když je služba Deployment Center aplikace nakonfigurovaná, dokončí tyto akce a nastaví CI/CD:

  • Uloží soubor pracovního postupu GitHub Actions do úložiště GitHub, aby zvládl sestavení a nasazení úloh do služby App Service.
  • Pro základní ověřování přidáte profil publikování pro vaši aplikaci jako tajný kód GitHubu. Soubor pracovního postupu používá tento tajný kód k ověření ve službě App Service.
  • Informace o identitě přiřazené uživatelem najdete v tématu Co dělá možnost identity přiřazené uživatelem pro GitHub Actions?
  • Zaznamenává informace z protokolů spuštění pracovního postupu a zobrazuje je na kartě Protokoly v Centru nasazení.

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

  • Upravte soubor pracovního postupu po vygenerování v úložišti GitHub. Další informace najdete v tématu Syntaxe pracovního postupu pro GitHub Actions. Stačí se ujistit, že se pracovní postup nasadí do služby App Service pomocí akce azure/webapps-deploy .
  • Pokud je vybraná větev chráněná, 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 neposkytuje integraci protokolů s webem Azure Portal.
  • Místo základního ověřování nebo identity přiřazené uživatelem můžete nasadit také pomocí instančního objektu v Microsoft Entra ID. Na portálu to nejde nakonfigurovat.

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

Všechny oficiálně podporované metody nasazení provádějí změny souborů ve složce /home/site/wwwroot vaší aplikace. Tyto soubory se používají k provozu vaší aplikace. Nasazení proto může selhat kvůli uzamčeným souborům. Aplikace se také během nasazení může chovat nepředvídatelně, protože se všechny soubory neaktualizují najednou. U zákaznických aplikací je toto chování nežádoucí. Těmto problémům je možné zabránit několika způsoby:

Nejčastější dotazy

Funguje poskytovatel sestavení GitHub Actions se základním ověřováním, pokud je zakázané základní ověřování?

Ne. Zkuste použít GitHub Actions s možností identity přiřazené uživatelem.

Další informace najdete v tématu Nasazení bez základního ověřování.

Co dělá možnost identity přiřazené uživatelem pro GitHub Actions?

Když vyberete identitu přiřazenou uživatelem ve zdroji GitHub Actions, služba App Service nakonfiguruje všechny potřebné prostředky v Azure a na GitHubu, aby povolila doporučené ověřování OpenID Připojení pomocí GitHub Actions.

Konkrétně služba App Service provede následující operace:

  • Vytvoří federované přihlašovací údaje mezi spravovanou identitou přiřazenou uživatelem v Azure a vybraným úložištěm a větví na GitHubu.
  • Vytvoří tajné kódy AZURE_CLIENT_IDa AZURE_TENANT_IDAZURE_SUBSCRIPTION_ID z federovaných přihlašovacích údajů ve vybraném úložišti GitHub.
  • Přiřadí identitu k aplikaci.

V pracovním postupu GitHub Actions v úložišti GitHub pak můžete použít akci Azure/login k ověření ve vaší aplikaci pomocí OpenID Připojení. Příklady najdete v tématu Přidání souboru pracovního postupu do úložiště GitHub.

Pokud má váš účet Azure požadovaná oprávnění, vytvoří app Service spravovanou identitu přiřazenou uživatelem a nakonfiguruje ji za vás. Tato identita se nezobrazuje na stránce Identities vaší aplikace. Pokud váš účet Azure nemá požadovaná oprávnění, musíte vybrat existující identitu s požadovanou rolí.

Proč se mi zobrazuje chyba Nemáte dostatečná oprávnění k přiřazení přístupu na základě role spravované identitě a konfiguraci federovaných přihlašovacích údajů?

Zpráva značí, že váš účet Azure nemá požadovaná oprávnění k vytvoření spravované identity přiřazené uživatelem pro GitHub Actions. Požadovaná oprávnění (vymezená pro vaši aplikaci) jsou:

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.ManagedIdentity/userAssignedIdentities/write

Ve výchozím nastavení mají role User Access Správa istrator a role Vlastník tato oprávnění, ale role Přispěvatel ne. Pokud nemáte požadovaná oprávnění, obraťte se na správce Azure a vytvořte spravovanou identitu přiřazenou uživatelem s rolí Přispěvatel webu. V Centru nasazení pak můžete vybrat identitu v rozevíracím seznamu Identita GitHubu>.

Další informace o alternativních krocích najdete v tématu Nasazení do služby App Service pomocí GitHub Actions.

Proč se mi zobrazuje chyba " Tato identita nemá oprávnění k zápisu v této aplikaci. Vyberte jinou identitu nebo požádejte svého správce o udělení role Přispěvatel webu vaší identitě v této aplikaci?

Zpráva značí, že vybraná spravovaná identita přiřazená uživatelem nemá požadovanou roli pro povolení openID Připojení mezi úložištěm GitHub a aplikací App Service. Identita musí mít v aplikaci jednu z následujících rolí: Vlastník, Přispěvatel, Přispěvatel webů. Nejnižší privilegovaná role, kterou identita potřebuje, je Přispěvatel webů.

Další materiály