Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje, jak můžete nakonfigurovat průběžné nasazování (CD) do služby Azure App Service tím, že načítáte aktualizace z GitHubu, Bitbucketu, Azure Repos nebo jiných úložišť.
Požadavky
Oprávnění k zápisu do aplikace Azure App Service v úložišti správy zdrojového kódu
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 , *.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 se spouštěcím skriptem. |
Krajta |
*.py , requirements.txt nebo runtime.txt . |
HTML |
default.htm , default.html , default.asp , index.htm , , index.html nebo 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.
Povolení průběžného nasazování
Na webu Azure Portal přejděte na stránku aplikace App Service a v levé navigační nabídce vyberte Deployment Center .
Na kartě Nastavení v části Zdroj vyberte typ úložiště správy zdrojového kódu.
Podle pokynů pro typ zdroje nakonfigurujte nasazení.
Všechny uvedené zdroje se můžou sestavovat pomocí služby App Service Build Service. Některé zdroje můžou také sestavovat pomocí GitHub Actions nebo Azure Pipelines. Další informace najdete v tématu Zprostředkovatelé sestavení.
GitHub Actions je výchozí zprostředkovatel sestavení GitHubu. Pokud chcete změnit poskytovatele, vyberte Změnit zprostředkovatele, vyberte App Service Build Service nebo Azure Pipelines a pak vyberte OK.
V případě potřeby vyberte Autorizovat a postupujte podle pokynů k autorizaci pro GitHub. Pokud chcete provést nasazení z úložiště jiného uživatele, vyberte Změnit účet.
Vyberte příslušnou organizaci, úložiště a větev GitHubu.
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í.
Pokud má váš účet Azure požadovaná oprávnění, vytvoří služba App Service spravovanou identitu přiřazenou uživatelem za vás nebo můžete zvolit existující spravovanou identitu. 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.
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. Pokud chcete zobrazit soubor pracovního postupu před uložením změn, můžete volitelně vybrat náhled souboru.
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í
Zakázání průběžného nasazování pro připojený zdroj:
Na webu Azure Portal přejděte na stránku aplikace App Service a v levé navigační nabídce vyberte Deployment Center .
Na kartě Nastavení vyberte Odpojit.
Vyberte OK.
V případě GitHubu zůstane soubor pracovního postupu ve výchozím nastavení v úložišti, ale na kartě Protokoly v Centru nasazení se už nezobrazuje integrovaný postup.
Co jsou poskytovatelé buildu?
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í. Některé zdroje nasazení nabízejí několik možností poskytovatele sestavení. Všechny uvedené zdroje se můžou sestavovat pomocí služby App Service Build Service.
Nejste omezeni na uvedené možnosti zprostředkovatele sestavení, ale App Service vám pomůže rychle nastavit uvedené možnosti a začít s integrovaným protokolováním nasazení.
Akce na GitHubu
Poskytovatel sestavení GitHub Actions je dostupný jenom pro zdroj GitHubu a je výchozím nastavením pro nasazení GitHubu. Poskytovatel sestavení nastaví CI/CD tak, že do úložiště GitHubu uloží soubor pracovního postupu GitHub Actions, který zpracovává úlohy sestavení a nasazení služby App Service.
Pro základní ověřování přidá poskytovatel sestavení GitHub Actions publikační profil pro vaši aplikaci jako tajný klíč GitHubu. Soubor pracovního postupu používá tento tajný kód k ověření ve službě App Service.
Pro identitu přiřazenou uživatelem umožňuje App Service doporučené ověřování Microsoft OpenID Connect a nakonfiguruje potřebné prostředky v Azure a GitHubu. Další informace najdete v tématu Co dělá možnost identity přiřazené uživatelem pro GitHub Actions?
Zprostředkovatel sestavení GitHub Actions zaznamenává informace z protokolů spuštění pracovního postupu a zobrazuje je na kartě Protokoly v Centru nasazení aplikace.
Poskytovatele sestavení GitHub Actions můžete přizpůsobit několika 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. Nasaďte přizpůsobený pracovní postup do služby App Service pomocí
azure/webapps-deploy
akce. - Pokud je vybraná větev chráněná, zobrazte náhled souboru pracovního postupu bez uložení konfigurace. Upravte soubor a pak ho ručně přidejte do úložiště. Tato metoda neposkytuje integraci logů s Azure Portal.
- Nasazení pomocí principála služby Microsoft Entra ID místo základního ověřování nebo identity přiřazené uživatelem. Tuto metodu nemůžete nakonfigurovat na portálu.
Služba sestavení služby App Service
Služba sestavení služby App Service je nativní nasazení a modul sestavení služby App Service. Když vyberete tuto možnost, App Service přidá webhook do úložiště, které jste autorizovali. Jakékoli odeslání kódu do úložiště aktivuje webhook a App Service stáhne změny a provede úlohy související s nasazením. Další informace najdete v tématu Nasazení z GitHubu (Kudu).
Služba sestavení služby App Service vyžaduje základní ověřování správce správy zdrojového kódu (SCM), aby webhook fungoval. Základní ověřování je méně bezpečné než jiné metody ověřování. Další informace najdete tady:
Kanály Azure
Azure Pipelines je komponenta sestavení Azure DevOps. Kanál můžete nakonfigurovat pro sestavení, testování a nasazení aplikace do služby App Service z libovolného podporovaného zdrojového úložiště.
Pokud chcete jako zprostředkovatele sestavení použít Azure Pipelines, vyberte v App Service Deployment Center možnost Azure Pipelines a pak přejděte přímo do Azure DevOps a nakonfigurujte kanál. Další informace najdete v tématu Nasazení do služby App Service pomocí Azure Pipelines.
Nejčastější dotazy
- Jak funguje poskytovatel sestavení GitHub Actions, pokud je zakázané základní ověřování?
- Co se stane s aplikací během nasazování, které může způsobit selhání nebo nepředvídatelné chování?
- Co dělá možnost identity přiřazené uživatelem pro GitHub Actions?
- 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ů?
- 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?
Jak funguje poskytovatel sestavení GitHub Actions, pokud je základní ověřování vypnuté?
Pokud je zakázané základní ověřování, poskytovatel sestavení GitHub Actions nefunguje se základním ověřováním. Zkuste místo toho použít GitHub Actions s možností identity přiřazenou uživatelem. Další informace najdete v tématu Nasazení bez základního ověřování.
Co se stane s aplikací během nasazování, které může způsobit selhání nebo nepředvídatelné chování?
Oficiálně podporované metody nasazení provádějí změny souborů ve složce /home/site/wwwroot , které se používají ke spuštění aplikace. Nasazení může selhat kvůli uzamčeným souborům. Aplikace se může během nasazování chovat nepředvídatelně, pokud se všechny soubory neaktualizují současně, což je nežádoucí pro aplikaci určenou zákazníkem.
Existuje několik způsobů, jak se těmto problémům vyhnout.
- Spusťte aplikaci přímo z balíčku ZIP , aniž byste ji rozbalili.
- 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 s aktivovaným automatickým přepínáním.
Co dělá možnost identity přiřazené uživatelem pro GitHub Actions?
Když vyberete identitu přiřazenou uživatelem pro zdroj GitHubu , 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_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 vaší aplikaci.
Akci Azure/login
pak můžete použít v pracovním postupu GitHub Actions ve vašem úložišti na GitHubu k ověření vašeho aplikace 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 Identita 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. Potřebujete následující oprávnění s vymezeným oborem pro vaši aplikaci:
Microsoft.Authorization/roleAssignments/write
Microsoft.ManagedIdentity/userAssignedIdentities/write
Ve výchozím nastavení mají role Správce uživatelských přístupů a vlastníka Azure 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, která má roli Přispěvatel webů . Tuto identitu pak můžete vybrat v rozevíracím seznamu Identita pro zdroj GitHubu v Centru nasazení služby App Service.
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](#what-does-the-user-assigned-identity-option-do-for-github-actions) mezi úložištěm GitHubu a aplikací App Service. Identita musí mít v aplikaci roli Vlastník, Přispěvatel nebo Přispěvatel webů . Nejnižší privilegovaná role, kterou identita potřebuje, je Přispěvatel webů.