Průběžné nasazování do Azure App Service
Poznámka:
Od 1. června 2024 budou mít všechny nově vytvořené aplikace App Service možnost vygenerovat jedinečný výchozí název hostitele pomocí zásad <app-name>-<random-hash>.<region>.azurewebsites.net
vytváření názvů . Stávající názvy aplikací zůstanou beze změny.
Příklad: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Další podrobnosti najdete v tématu Jedinečný výchozí název hostitele pro prostředek služby 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.js nebo 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.html nebo 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. |
Funkce | 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í
Na webu Azure Portal přejděte na stránku pro správu vaší aplikace App Service.
V levém podokně vyberte Deployment Center. Pak vyberte Nastavení.
V poli Zdroj vyberte jednu z možností CI/CD:
Pokračujte výběrem karty odpovídající vašemu poskytovateli sestavení.
GitHub Actions je výchozí zprostředkovatel sestavení. Pokud chcete změnit zprostředkovatele, vyberte Změnit zprostředkovatele>App Service Build Service>OK.
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.
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.
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.
(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.
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í
Na webu Azure Portal přejděte na stránku pro správu vaší aplikace App Service.
V levém podokně vyberte Deployment Center. Pak vyberte Nastavení>Odpojit:
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.
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:
- Spusťte aplikaci přímo z balíčku ZIP, aniž byste ho rozbalovali.
- Během nasazení aplikaci zastavte nebo povolte režim offline. Další informace najdete v tématu Práce s uzamčenými soubory během nasazení.
- Proveďte nasazení do přípravného slotu se zapnutým automatickým prohazováním.
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í?
- Co dělá možnost identity přiřazené uživatelem pro 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?
- 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?
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ž 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, aby povolila doporučené ověřování 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_ID
aAZURE_TENANT_ID
AZURE_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 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 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 Správce uživatelských přístupů 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 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, Přispěvatel webů. Nejnižší privilegovaná role, kterou identita potřebuje, je Přispěvatel webů.