Zajištění kompatibility projektu s Azure Developer CLI
Azure Developer CLI (azd
) umožňuje vývojářům generovat své aplikace pro cloud pomocí šablon hostovaných na GitHubu. Microsoft nabízí několik šablon , které vám pomůžou začít. V tomto článku se dozvíte, jak vytvořit vlastní aplikaci azd
kompatibilní.
Principy architektury šablon
Následující diagram poskytuje rychlý přehled procesu vytvoření azd
šablony:
Všechny azd
šablony mají stejnou strukturu souborů na azd
základě konvencí. Následující hierarchie ukazuje adresářovou strukturu, kterou vytvoříte v tomto kurzu.
├── .azdo [ Configures an Azure Pipeline ]
├── .devcontainer [ For DevContainer ]
├── .github [ Configures a GitHub workflow ]
├── .vscode [ VS Code workspace configurations ]
├── .azure [ Stores Azure configurations and environment variables ]
├── infra [ Contains infrastructure as code files ]
│ ├── main.bicep/main.tf [ Main infrastructure file ]
│ ├── main.parameters.json/main.tfvars.json [ Parameters file ]
│ └── core/modules [ Contains reusable Bicep/Terraform modules ]
└── azure.yaml [ Describes the app and type of Azure resources]
Inicializace šablony
Příkaz azd init
slouží k inicializaci aplikace pro zřizování a nasazování prostředků aplikace v Azure. Tento příkaz vás vyzve k výběru mezi dvěma různými pracovními postupy, abyste inicializovali šablonu, která je uvedena v následujících částech.
Použijte kód v aktuálním adresáři: Tuto možnost vyberte, pokud chcete dát pokyn
azd
k analýze kódu v adresáři na identitu, které technologie používá, jako je programovací jazyk, architektura a databázový systém.azd
pak automaticky vygeneruje prostředky šablony, jakoazure.yaml
je například definiční soubor služby ainfra
složka se soubory infrastruktury jako kódu.Vyberte šablonu: Tuto možnost vyberte, pokud chcete použít existující šablonu jako výchozí bod. Ve výchozím nastavení
azd
můžete procházet šablony z galerie Awesome AZD , ale můžete také nakonfigurovat vlastní galerie šablon. Když vyberete šablonu, prostředky této šablony se přidají do existujícího adresáře projektu.
Podrobnosti o každém z těchto pracovních postupů jsou popsány v následujících částech.
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 nástroj příkazového řádku podle výběru 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
zkontroluje také závislosti balíčku a shromáždí 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.
Konfigurace kanálu CI/CD
Pokud vaše šablona obsahuje podporu pro GitHub Actions nebo Azure Pipelines, můžete kanál CI/CD nakonfigurovat pomocí následujícího postupu:
Spuštěním následujícího příkazu odešlete aktualizace do úložiště. Pracovní postup GitHub Actions se aktivuje kvůli aktualizaci.
azd pipeline config
V prohlížeči přejděte do úložiště GitHub pro váš projekt.
Výběrem možnosti Akce zobrazíte spuštěný pracovní postup.
Vyčištění prostředků
Pokud už prostředky vytvořené v tomto článku nepotřebujete, spusťte následující příkaz:
azd down
Viz také
- Vytvořte soubory Bicep pomocí editoru Visual Studio Code pro úvod do práce se soubory Bicep.
- Ukázky Bicep
- Jak dekompilovat šablony Azure Resource Manageru (šablony ARM) do Bicep
- Schéma Azure.yaml cli pro vývojáře
Požádat o pomoc
Informace o tom, jak vytvořit chybu, požádat o pomoc nebo navrhnout novou funkci pro Azure Developer CLI, najdete na stránce pro řešení potíží a podporu .
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro