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:

Diagram of Azure Developer CLI template workflow.

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, jako azure.yaml je například definiční soubor služby a infra 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.

  1. 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
    
  2. Otevřete nástroj příkazového řádku podle výběru do kořenového adresáře projektu.

  3. Spuštěním azd init příkazu inicializujete šablonu.

    azd init
    
  4. 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.

  5. 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.

  6. 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 ve infra složce.

  7. Spuštěním azd up příkazu zřiďte a nasaďte aplikaci do Azure.

    azd up
    
  8. Po zobrazení výzvy vyberte požadované předplatné a umístění, aby se zahájil proces zřizování a nasazení.

  9. 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:

  1. Vytvořte složku .devcontainer v kořenovém adresáři projektu.

  2. 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:

  1. .github Přidejte složku pro Akce GitHubu nebo .ado složku pro Azure DevOps do kořenového adresáře projektu.

  2. 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.

  3. Možná budete také muset aktualizovat main.parameters.json soubor ve složce infra 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:

  1. 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    
    
  2. V prohlížeči přejděte do úložiště GitHub pro váš projekt.

  3. 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é

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