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.
Azure Functions umožňuje průběžně nasazovat změny z repozitáře správy zdrojového kódu do aplikace Function. V tomto workflow aktualizace kódu spustí build, balení a nasazení z vašeho projektu do Azure. Podporovaní poskytovatelé nasazení a strategie vydání závisí na plánu hostingu.
| Plán hostování | Doporučený poskytovatel CI/CD | Pokyny k nasazení a uvolnění |
|---|---|---|
| Flexibilní Spotřeba | GitHub Actions nebo Azure Pipelines | Používá nasazení balíčků. Sloty pro nasazení nejsou podporovány. Používejte kontroly vydávání CI/CD a zvažte postupné aktualizace pro nasazení bez prostojů. |
| Elastická prémie, dedikovaná a spotřeba | GitHub Actions nebo Azure Pipelines | Používá nasazení ZIP balíčku. Pokud to vaše aplikace podporuje, nasaďte do přípravného slotu, ověřte tuto aktualizaci a pak přepněte slot do produkčního prostředí. |
| Azure Container Apps | Pracovní postup sestavování a nasazení kontejnerů | Nasadí kontejnerový obraz. Další informace najdete v tématu Azure Functions v přehledu Azure Container Apps. |
Vyberte si svůj hostingový plán v horní části tohoto článku a zobrazte si pokyny k kontinuálnímu nasazení, které platí pro vaši funkční aplikaci.
U hostingových plánů, které podporují sloty pro nasazení, nastavte průběžné nasazování pro přípravný slot místo pro produkční slot. Ověřte aktualizace ve stagingu a pak přesuňte stagingový slot do produkce. Pokud se připojíte přímo k produkčnímu slotu, ujistěte se, že do integrované větve dorazí pouze kód produkční kvality.
Pro Flex Consumption nakonfigurujte GitHub Actions nebo Azure Pipelines. Protože Flex Consumption nepodporuje sloty nasazení, uchovejte si historii nasazení ve zdrojovém řízení a v systému CI/CD, abyste se mohli zotavit z neúspěšného nasazení.
Pro Azure Functions v Azure Container Apps sestavte a nasaďte image kontejneru. Sloty pro nasazení nejsou k dispozici. Používejte revize a zvažte strategii nasazení s modrou zelenou barvou pro verze bez prostojů.
Kroky Deployment Center uvedené v tomto článku se vztahují na funkční aplikace, které podporují integraci správy zdrojového kódu App Service. Na tarifu Consumption je tato integrace podporována pouze na Windows. Integraci správy zdrojového kódu můžete také nastavit pomocí Azure CLI.
Azure Functions podporuje tyto zdroje pro průběžné nasazování do vaší aplikace:
Udržujte kód projektu v Azure Repos, jednu ze služeb v Azure DevOps. Podporuje Git i Team Foundation Version Control. Používá se s poskytovatelem sestavení Azure Pipelines. Další informace najdete v tématu Co je Azure Repos?
Můžete také připojit svou funkční aplikaci k externímu Git repozitáři, ale tato možnost vyžaduje manuální synchronizaci. Další informace o možnostech nasazení najdete v tématu Technologie nasazení ve službě Azure Functions.
Poznámka:
Možnosti průběžného nasazování popsané v tomto článku jsou specifické pro nasazení pouze kódu. Za Azure Functions on Azure Container Apps viz Azure Functions on Azure Container Apps overview. Pro vlastní kontejner hostovaný Azure Functions v Premium nebo Dedikovaném plánu viz sekce Povolit kontinuální nasazení kontejnerů do Azure v sekci Work with containers a Azure Functions.
Flex Consumption podporuje kontinuální nasazení z Azure Repos pomocí Azure Pipelines a z GitHub pomocí GitHub Actions. Integrace správy zdrojového kódu App Service, včetně nasazení Bitbucketu a Local Gitu, není podporována.
Pro funkce na Azure Container Apps udržujte zdrojový kód ve svém preferovaném repozitáři a používejte CI/CD workflow pro vytvoření a posílání obrazu kontejneru. Pak aktualizujte svou funkční aplikaci, aby používala nový obrázek. Další informace najdete v článku Nasazení a nastavení pro Functions ve službě Azure Container Apps.
Požadavky
Jednotkou nasazení funkcí v Azure je aplikace funkcí. Aby průběžné nasazování proběhlo úspěšně, musí být adresářová struktura projektu kompatibilní se základní strukturou složek, kterou služba Azure Functions očekává. Když vytvoříte svůj projekt pomocí Azure Functions Core Tools, Visual Studio Code nebo Visual Studio, šablony Azure Functions vytvářejí projekty s odpovídající strukturou adresářů. Všechny funkce nasazujete v aplikaci Function současně a ve stejném balíčku.
Po zapnutí kontinuálního nasazení je přístup k funkčnímu kódu v Azure portálu nastaven jako pouze pro čtení, protože zdroj pravdy je jinde.
Poznámka:
Centrum nasazení neumožňuje povolení kontinuálního nasazování pro funkční aplikace s omezeními příchozího připojení. Místo toho nakonfigurujte workflow poskytovatele buildů přímo v GitHub nebo Azure Pipelines. Runner nebo agent musí být schopen dosáhnout na koncový bod nasazení aplikace za nastavených přístupových omezení. Když je endpoint soukromý, runner nebo agent také potřebuje soukromé DNS rozlišení. Pro Azure Pipelines použijte agenta hostovaného v místním prostředí v připojené síti nebo spravovaný fond agentů DevOps se sítí. Pro službu GitHub Actions použijte samostatně hostovaný runner v síti s připojením nebo runner hostovaný na GitHubu s privátní sítí Azure.
Když má vaše funkční aplikace omezení příchozí sítě, workflowrunner nebo agent musí být schopen dosáhnout na endpoint nasazení aplikace za nastavených přístupových omezení. Když je endpoint soukromý, runner nebo agent také potřebuje soukromé DNS rozlišení. Pro Azure Pipelines použijte agenta hostovaného v místním prostředí v připojené síti nebo spravovaný fond agentů DevOps se sítí. Pro službu GitHub Actions použijte samostatně hostovaný runner v síti s připojením nebo runner hostovaný na GitHubu s privátní sítí Azure.
Váš kanál CI/CD musí vytvořit platnou bitovou kopii kontejneru Azure Functions, nahrát ji do registru, ke kterému má vaše kontejnerová aplikace přístup, a aktualizovat aplikaci funkcí tak, aby z této bitové kopie vytvořila revizi. Pro více informací viz Create a function app on Azure Container Apps.
Výběr zprostředkovatele sestavení
Sestavení projektu kódu je součástí procesu nasazení. Konkrétní proces sestavení závisí na vašem konkrétním zásobníku jazyka, operačním systému a plánu hostování. Můžete stavět lokálně nebo na dálku, podle toho, jaký máte hosting. Další informace naleznete v tématu Vzdálené sestavení.
Důležité
Pro zvýšení bezpečnosti použijte poskytovatele buildů, který podporuje spravované identity, jako jsou Azure Pipelines a GitHub Actions. Sestavovací služba App Service vyžaduje, abyste povolili základní ověřování a používali přihlašovací údaje založené na textu.
Azure Functions podporuje tyto zprostředkovatele sestavení:
Azure Pipelines je jednou ze služeb v Azure DevOps a výchozím poskytovatelem sestavení pro projekty Azure Repos. K vytváření projektů z GitHubu můžete také použít Azure Pipelines. V Azure Pipelines existuje AzureFunctionApp úloha určená speciálně pro nasazení do prostředí Azure Functions. Tento úkol vám poskytne kontrolu nad tím, jak se projekt sestaví, zabalí a nasadí. Azure Pipelines podporuje spravované identity.
Mějte na paměti silné a omezení těchto poskytovatelů, když povolíte integraci správy zdrojového kódu. Možná budete muset změnit typ zdroje úložiště, abyste mohli využít konkrétního poskytovatele.
Použijte Azure Pipelines nebo GitHub Actions k vytvoření a nasazení svého projektu. Tito poskytovatelé podporují identity Microsoft Entra a používají proces nasazení balíčku Flex Consumption.
- Pro Azure Repos použijte Azure Pipelines.
- Pro GitHub použijte GitHub Actions.
Služba App Service build se na Flex Consumption nevztahuje.
Použijte poskytovatele kontejnerového buildu, který dokáže vytvořit váš Azure Functions image, poslat ho do container registry a aktualizovat vaši aplikaci Function tak, aby vytvořila revizi z nového image. Kompletní workflow GitHub Actions najdete v článku Deploy to Azure Container Apps with GitHub Actions.
Konfigurace průběžného nasazování
Portál Azure poskytuje Centrum nasazení pro vaše funkční aplikace, což usnadňuje konfiguraci kontinuálního nasazení. Konkrétní způsob konfigurace průběžného nasazování závisí na typu úložiště správy zdrojového kódu, ve kterém se nachází váš kód, a na zvoleném poskytovateli sestavení.
Na webu Azure Portal přejděte na stránku vaší aplikace funkcí a v levém podokně v části Deployment Center (Nasazení) vyberte Deployment Center ( Centrum nasazení ).
Vyberte typ zdrojového úložiště, ve kterém se udržuje kód projektu, z jedné z těchto podporovaných možností:
Definujte v portálu Azure DevOps nasazení z Azure Repos, která používají Azure Pipelines. Tyto nasazení nedefinujte přímo ve své funkční aplikaci. Podrobný návod k vytvoření nasazení založeného na Azure Pipelines z Azure Repos najdete v článku Kontinuální doručování pomocí Azure Pipelines.
Po dokončení nasazení služba nasadí veškerý kód ze specifikovaného zdroje do vaší aplikace. V tomto okamžiku změny ve zdroji nasazení aktivují nasazení těchto změn do vaší aplikace funkcí v Azure.
Nakonfigurujte kontinuální nasazení ve svém repozitáři pomocí jednoho z těchto poskytovatelů:
Každé úspěšné spuštění workflow nasadí nový aplikační balíček. Integrace správy zdrojového kódu v Deployment Center není pro Flex Consumption dostupná.
Nakonfigurujte si workflow CI/CD tak, abyste vytvořili a poslali obraz kontejneru, a pak ho nasadili do své funkční aplikace. Každá aktualizace obrázku vytváří revizi Container Apps. Další informace najdete v článku Nasazení do Azure Container Apps pomocí GitHub Actions.
Povolení průběžného nasazování během vytváření aplikace
Když vytvoříte funkční aplikaci v Azure portálu, můžete nastavit kontinuální nasazení z GitHub pomocí GitHub Actions. Konfigurujte GitHub Actions na záložce Deployment na stránce Create Function App.
Chcete-li použít jiný zdroj nasazení nebo poskytovatele buildů pro kontinuální integraci, nejprve vytvořte svou funkční aplikaci. Poté se vraťte do portálu a nastavte kontinuální integraci v Distribučním centru.
U Azure Pipelines nejprve vytvořte funkční aplikaci a pak nakonfigurujte pipeline v Azure DevOps.
Vytvořte funkční aplikaci z obrazu kontejneru a poté nastavte workflow CI/CD tak, aby publikoval aktualizované obrázky a vytvářel revize. Pro více informací viz Create a function app on Azure Container Apps.
Povolení základního ověřování pro nasazení
Tato sekce se vztahuje pouze na metody nasazení, které využívají endpoint nasazení App Service.
V některých případech je funkční aplikace vytvořena s vypnutým přístupem k základnímu autentizačnímu přístupu k endpointu nasazení. Tato podmínka blokuje publikování všemi metodami, které nemohou použít Microsoft Entra identity k přístupu k koncovému bodu nasazení. Dopady publikování při vypnutí základní autentizace pro endpoint nasazení jsou podrobně popsány v sekci Nasadit bez základní autentizace.
Důležité
Při použití základního ověřování se přihlašovací údaje odesílají ve formátu prostého textu. Pro ochranu těchto přihlašovacích údajů musíte přistupovat k endpointu nasazení pouze přes šifrované připojení (HTTPS) při použití základní autentizace. Další informace najdete v tématu Zabezpečené nasazení.
Pro povolení základní autentizace pro koncový bod nasazení:
Na webu Azure Portal přejděte do aplikace funkcí.
V nabídce vlevo aplikace vyberte Nastavení>Konfigurace>Obecné nastavení.
Nastavte přihlašovací údaje pro publikování základního ověřování SCM na Zapnuto a pak vyberte Uložit.
Základní autentizace SCM se nevztahuje na nasazení balíčků Flex Consumption. Ve výchozím nastavení Azure Pipelines používá token nositele Microsoft Entra z požadovaného připojení ke službě Azure; doporučuje se federace identity úlohy. Pro GitHub Actions použijte doporučenou autentizaci OpenID Connect (OIDC). Tyto metody nepoužívají přihlašovací údaje pro publikování do SCM a jsou bezpečnější než základní ověřování.
Toto základní nastavení autentizace se nevztahuje na Functions v Azure Container Apps. Místo toho si nastavte autentizaci mezi poskytovatelem CI/CD, kontejnerovým registrem a kontejnerovou aplikací.