Sdílet prostřednictvím


Konfigurace průběžného nasazování do služby Azure App Service

Poznámka:

Od 1. června 2024 můžou nově vytvořené aplikace App Service vygenerovat jedinečný výchozí název hostitele, který používá zásady vytváření názvů <app-name>-<random-hash>.<region>.azurewebsites.net. Například: myapp-ds27dh7271aah175.westus-01.azurewebsites.net. Stávající názvy aplikací zůstávají beze změny.

Další informace najdete v blogovém příspěvku o vytvoření webové aplikace s jedinečným výchozím názvem hostitele.

Průběžné nasazování můžete nakonfigurovat z úložišť GitHub, Bitbucket a Azure pomocí služby Azure App Service, která načítá nejnovější aktualizace. Tato příručka vám poskytne všechno, co potřebujete, abyste mohli začít.

Příprava úložiště

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

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

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

Návod

Visual Studio za vás může vytvořit úložiště. Díky této metodě je váš projekt okamžitě připravený k nasazení prostřednictvím Gitu.

Konfigurace zdroje nasazení

  1. Na webu Azure Portal přejděte do podokna správy pro vaši aplikaci App Service.

  2. V nabídce vlevo vyberte Deployment Center. Pak vyberte Nastavení.

  3. V poli Zdroj vyberte jednu z možností průběžného nasazování (CI/CD ):

    Snímek obrazovky, který ukazuje, jak zvolit zdroj nasazení

Pro pokračování vyberte kartu, která odpovídá vašemu poskytovateli sestavení.

  1. GitHub Actions je výchozí zprostředkovatel sestavení. Pokud chcete změnit zprostředkovatele, vyberte >OK.

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

  3. Po autorizaci účtu Azure pomocí GitHubu vyberte příslušnou 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 tématu Nejčastější dotazy.

    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 nemáte požadovaná oprávnění, 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 Zobrazit náhled. 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é commity 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ě Záznamy.

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 nabídce vlevo vyberte Deployment Center. Pak vyberte Nastavení>Odpojit.

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

  3. Soubor pracovního postupu GitHub Actions se ve výchozím nastavení zachová v úložišti, ale i nadále aktivuje nasazení do vaší aplikace. Pro odstranění souboru pracovního postupu z úložiště vyberte Odstranit soubor pracovního postupu.

  4. Vyberte OK.

Co jsou poskytovatelé buildu?

V závislosti na zdroji nasazení v Deployment Center se může zobrazit několik možností zprostředkovatele sestavení. Poskytovatelé sestavení vám pomáhají vytvořit řešení kontinuální integrace a nepřetržitého doručování (CI/CD) se službou Azure App Service automatizací sestavení, testování a nasazení.

Nejste omezeni pouze na možnosti poskytovatelů sestavení dostupné v Deployment Center. Použitím App Service je můžete rychle nastavit a využít integrované funkce protokolování nasazení.

Poskytovatel sestavení GitHub Actions je dostupný jenom pro GitHubové nasazení. Když je poskytovatel sestavování nakonfigurovaný z nasazovacího centra aplikace, nastaví CI/CD tak, že uloží soubor pracovního postupu GitHub Actions do vašeho úložiště GitHub, které zpracovává úkoly sestavení a nasazení do služby App Service.

Pro základní ověřování přidá publikační profil vaší aplikace jako tajný údaj 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 následujícími způsoby:

  • Soubor pracovního postupu můžete přizpůsobit po vygenerování v úložišti GitHub. Další informace najdete v tématu Syntaxe pracovního postupu pro GitHub Actions. Ujistěte se, že se pracovní postup nasazuje na službu App Service využitím 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 logů s Azure Portal.
  • Místo základního ověřování nebo identity přiřazené uživatelem můžete také nasadit použitím služebního principálu v Microsoft Entra ID. Tuto metodu nejde nakonfigurovat na portálu.

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

Když používáte oficiálně podporované metody nasazení, změny se provedou v souborech ve složce vaší aplikace /home/site/wwwroot . Tyto soubory se používají k provozu vaší aplikace. Nasazení 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í.

Existuje několik způsobů, jak se těmto problémům vyhnout:

Nejčastější dotazy

Funguje poskytovatel sestavení GitHub Actions se základním ověřováním, pokud je základní ověřování deaktivováno?

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ž ve zdroji GitHub Actions vyberete identitu přiřazenou uživatelem, služba App Service nakonfiguruje všechny potřebné prostředky v Azure a Na GitHubu. App Service umožňuje doporučené ověřování Microsoft OpenID Connect 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 vaší aplikaci.

V pracovním postupu GitHub Actions v úložišti GitHub pak můžete pomocí Azure/login akce ověřit aplikaci pomocí OpenID Connect. 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 v této aplikaci dostatečná oprávnění pro přiřazení přístupu na základě role ke 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 Správce uživatelských přístupů a Vlastník tato oprávnění, ale role Přispěvatel ne. Pokud nemáte požadovaná oprávnění, požádejte správce Azure o vytvoření spravované identity přiřazené uživatelem s rolí Přispěvatel webů. V Centru nasazení pak můžete vybrat identitu v rozevíracím seznamu Identita GitHubu>.

Další informace o použití alternativních kroků 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 Connect 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 nebo Přispěvatel webů. Nejnižší privilegovaná role, kterou identita potřebuje, je Přispěvatel webů.