Přidání podpory Azure Developer CLI do aplikace pomocí kódu v adresáři aplikace
Azure Developer CLI (azd
) poskytuje dva různé pracovní postupy pro inicializaci šablony pro použití s vaší aplikací, mezi které patří:
- Použijte kód v aktuálním adresáři: Tento přístup analyzuje vaši aplikaci a automaticky generuje podporované prostředky infrastruktury a konfigurace.
- Vyberte šablonu: Tento přístup umožňuje integrovat existující šablonu s vaší aplikací nebo použít existující šablonu jako výchozí bod pro novou aplikaci.
Oba tyto přístupy jsou prozkoumány v dokumentaci k přehledu šablon Azure Developer CLI.
V tomto článku se dozvíte, jak do aplikace přidat podporu rozhraní příkazového řádku Azure Developer CLI (azd
) prostřednictvím kódu Use v aktuálním přístupu k adresáři . Další informace o alternativním přístupu najdete v dokumentaci k přidání azd
podpory do aplikace pomocí existujícího dokumentu šablony. Můžete také navštívit školení – sestavení a nasazení azd
šablon pro další informace o vytváření azd
šablon.
Použití kódu v aktuálním adresáři
Pomocí vlastního projektu můžete postupovat podle kroků dopředu. Pokud ale chcete postupovat podle ukázkové aplikace, naklonujte následující počáteční úložiště do prázdného adresáře v počítači:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Otevřete terminál do kořenového adresáře projektu.
Spuštěním
azd init
příkazu inicializujete šablonu.azd init
Po zobrazení výzvy vyberte možnost Použít kód v aktuálním adresáři.
azd
analyzuje projekt a poskytuje souhrn zjištěných služeb a doporučené hostitelské prostředky Azure.Vyberte Potvrdit a pokračovat v inicializaci aplikace.
azd
vygeneruje v kořenovém adresáři projektu následující prostředky:- Soubor
azure.yaml
s odpovídajícími definicemi služby. - Složka
infra
se soubory infrastruktury jako kódu pro zřízení a nasazení projektu do Azure. .azure
Složka s proměnnými prostředí nastavenými.env
v souboru.
Další podrobnosti o tomto procesu detekce a generování najdete dále v článku.
- Soubor
Vygenerované soubory fungují stejně jako u poskytnuté ukázkové aplikace a můžou také pro vaše vlastní aplikace. V případě potřeby je možné vygenerované soubory upravit tak, aby vyhovovaly vašim potřebám. Pokud například vaše aplikace spoléhá na prostředky Azure nad rámec těch, které byly identifikovány
azd
, může být potřeba dále upravit soubory infrastruktury jako kódu veinfra
složce.Spuštěním
azd up
příkazu zřiďte a nasaďte aplikaci do Azure.azd up
Po zobrazení výzvy vyberte požadované předplatné a umístění, aby se zahájil proces zřizování a nasazení.
Po dokončení procesu kliknutím na odkaz ve výstupu
azd
otevřete aplikaci v prohlížeči.
Prozkoumání kroků inicializace
Když vyberete použít kód v aktuálním pracovním postupu adresáře , příkaz analyzuje váš projekt a automaticky vygeneruje kód na základě toho, azd init
co zjistí. Níže uvedené části popisují podrobnosti o fungování tohoto procesu a o tom, které technologie jsou aktuálně podporovány.
Detection
Příkaz azd init
rozpozná soubory projektu pro podporované jazyky umístěné v adresáři a podadresářích projektu. azd
také kontroluje závislosti balíčků a shromažďuje informace o webových architekturách nebo databázích, které vaše aplikace používá. V případě potřeby můžete zjištěné komponenty přidat nebo upravit ručně, jak je uvedeno v souhrnné výzvě k potvrzení.
Aktuální logika detekce je následující:
- Podporované jazyky:
- Python
- JavaScript/TypeScript
- .NET
- Java
- Podporované databáze:
- MongoDB
- PostgreSQL
- Pro Python a JavaScript/TypeScript se automaticky detekují webové architektury a databáze.
- Pokud projekt JavaScript/TypeScript používá front-endovou (nebo klientskou) webovou architekturu, klasifikuje se jako front-endová služba. Pokud vaše služba používá front-endovou webovou architekturu, která je aktuálně nedetekovaná, můžete vybrat JQuery a poskytnout ekvivalentní klasifikaci a chování front-endové služby.
Generace
Po potvrzení detekovaných komponent vygeneruje azd init
soubory infrastruktury jako kódu potřebné k nasazení aplikace do Azure.
Logika generování je následující:
- Podporovaní hostitelé:
- Azure Container Apps.
- U databází se používá podporované mapování mezi databázovými technologiemi a službou:
- MongoDB: Rozhraní API služby Azure Cosmos DB pro MongoDB
- PostgreSQL: Flexibilní server Azure Database for PostgreSQL
- Redis: Doplněk Redis pro Azure Container Apps
- Služby používající databáze budou mít proměnné prostředí, které poskytují připojení k databázi předem nakonfigurované ve výchozím nastavení.
- Když se zjistí front-endové i back-endové služby, aktualizuje se konfigurace CORS na hostiteli Azure pro back-endové služby, aby umožňovala výchozí doménu hostování front-endových služeb. To lze podle potřeby upravit nebo odebrat v konfiguračních souborech Infrastruktury jako kódu.
Přidání podpory pro vývojové kontejnery
Šablonu můžete také nastavit jako kompatibilní s vývojovými kontejnery a codespaces. Vývojový kontejner umožňuje používat kontejner jako plnohodnotné vývojové prostředí. Dá se použít ke spuštění aplikace, k oddělení nástrojů, knihoven nebo modulů runtime potřebných pro práci se základem kódu a k podpoře kontinuální integrace a testování. Vývojové kontejnery je možné spouštět místně nebo vzdáleně v privátním nebo veřejném cloudu. (Zdroj: https://containers.dev/)
Přidání podpory pro vývojové kontejnery:
Vytvořte složku .devcontainer v kořenovém adresáři projektu.
Ve složce vytvořte
devcontainer.json
soubor.devcontainer
s požadovanými konfiguracemi. Úvodníazd
šablona obsahuje ukázkovýdevcontainer.json
soubor, který můžete zkopírovat do projektu a podle potřeby upravit.
Další informace o práci s vývojovými kontejnery najdete v dokumentaci k editoru Visual Studio Code.
Přidání podpory pro kanál CI/CD
Podporu CI/CD můžete do šablony přidat také pomocí GitHub Actions nebo Azure DevOps pomocí následujícího postupu:
.github
Přidejte složku pro Akce GitHubu nebo.ado
složku pro Azure DevOps do kořenového adresáře projektu.Do nové složky přidejte soubor pracovního postupu. Úvodní
azd
šablona obsahuje ukázkový soubor pracovního postupu GitHub Actions a ukázkové soubory Azure DevOps Pipelines pro každou platformu, kterou můžete zkopírovat do projektu a podle potřeby upravit.Možná budete také muset aktualizovat
main.parameters.json
soubor ve složceinfra
požadovanými proměnnými prostředí, aby se mohl pracovní postup spustit.