Přehled šablon Azure Developer CLI

Šablona rozhraní příkazového řádku pro vývojáře Azure (azd) je úložiště kódu, které se řídí azd konvencemi. Kombinuje konfiguraci projektu, infrastrukturu jako kód a volitelný zdroj aplikace, abyste mohli vytvářet opakovatelné Azure prostředí a nasazení.

Šablony můžou podporovat různé typy projektů, včetně:

  • Úplná aplikace s jednou nebo více nasaditelnými službami.
  • Řešení jen pro infrastrukturu bez kódu aplikace.
  • Opakovaně použitelný výchozí bod, který může inicializovat a rozšířit jiný vývojář.
  • Existující projekt, který připravujete k přípravě a nasazení pomocí azd.

Tento článek vysvětluje strukturu šablony a způsob, jakým azd příkazy používají soubory.

Proč použít šablonu?

Šablona zaznamenává rozhodnutí potřebná ke spuštění projektu na Azure. V závislosti na projektu může definovat:

  • Prostředky Azure a jejich konfigurace.
  • Nasazovatelné aplikační služby a pokyny k balení
  • Připojení mezi aplikačními službami a prostředky Azure
  • Parametry a výstupy specifické pro prostředí
  • Místní vývoj, kontinuální integrace a konfigurace průběžného doručování

Vzhledem k tomu, že se konfigurace ukládá s projektem, můžou týmy kontrolovat změny ve správě zdrojového kódu a vytvářet konzistentní vývoj, testování a produkční prostředí.

Jak azd používá šablonu

Soubory v šabloně podporují různé fáze azd pracovního postupu:

  • azd init inicializuje projekt a vytvoří azd prostředí. Může také použít GitHub Copilot k vygenerování počáteční šablony nebo zkopírování existující šablony.
  • azd provisionvyhodnotí definice infrastruktury a vytvoří nebo aktualizuje Azure prostředky.
  • azd package připravuje nasaditelné služby aplikace podle azure.yaml.
  • azd deploypřidruží každou službu k hostiteli Azure a nasadí balíček aplikace.
  • azd up provádí fáze přípravy, balení a nasazení v rámci jednoho kombinovaného pracovního postupu.

Soubory šablon zůstávají v průběhu tohoto procesu běžnými zdrojovými soubory. Můžete je kontrolovat, upravovat a verzovat spolu se zbytkem projektu.

Prozkoumání struktury šablony Azure Developer CLI

azd šablony jsou standardní repozitáře kódu s dodatečnou konfigurací a infrastrukturními prostředky. Většina šablon používá následující strukturu:

  • azure.yaml file – Definuje projekt a mapuje nasaditelné zdrojové adresáře pro Azure prostředky.
  • infra složka – Obsahuje soubory infrastruktury jako kód pro Bicep nebo Terraform, které vytvářejí prostředky Azure.
  • src složka – Běžně obsahuje nasaditelný zdrojový kód aplikace. Šablony jen pro infrastrukturu můžou vynechat zdroj aplikace a šablony aplikací můžou používat jiné názvy zdrojových adresářů.
  • .azure složka – obsahuje místní prostředí a hodnoty vytvořené nástrojem azd. Tato složka je místní stav projektu a obvykle se nesdílí jako součást opakovaně použitelné šablony.

Například běžná azd šablona může odpovídat následující struktuře složek:

contoso-project/
├── azure.yaml                 # azd project and service configuration
├── infra/
│   ├── main.bicep            # Infrastructure entry point
│   └── main.parameters.json  # Maps azd values to Bicep parameters
├── src/                      # Optional application source
│   ├── api/
│   └── web/
├── .github/workflows/        # Optional GitHub Actions pipelines
└── .azure/                   # Local environment state; don't distribute

azd Šablony také volitelně obsahují jednu nebo více následujících složek:

  • .github složka – Obsahuje soubory pracovních postupů CI/CD pro GitHub Actions.
  • .azdo složce – Pokud se rozhodnete použít Azure Pipelines pro CI/CD, definujte konfigurační soubory pracovního postupu v této složce.
  • .devcontainer folder – Definuje vývojové prostředí kontejneru pro projekt.

Následující diagram znázorňuje, jak společně fungují primární prostředky šablony:

flowchart LR
AZ[azure.yaml] -->|Defines services| SRC[Application source]
AZ -->|Selects provider and path| INFRA[Infrastructure as code]
INFRA -->|Provisions| RES[Azure resources]
INFRA -->|Exports values| ENV[azd environment]
ENV -->|Configures| SRC
AZ -->|Maps services to| RES

Povinné a volitelné položky

Přesná struktura se liší podle projektu, ale většina šablon používá následující prostředky.

azure.yaml

Soubor azure.yaml je primárním konfiguračním souborem projektu. Definuje název projektu a může definovat nasaditelné služby, poskytovatele infrastruktury, hooky, pracovní postupy a další azd chování.

U aplikační služby azure.yaml obvykle označuje:

  • Cesta ke zdroji aplikace.
  • Programovací jazyk nebo strategie balení.
  • Služba Azure, která je hostitelem aplikace.
  • Sestavení, nasazení, kontejner nebo nastavení Kubernetes

Šablony jen pro infrastrukturu můžou vynechat aplikační služby. Kompletní konfigurační model najdete ve schématuazure.yaml.

Následující příklad definuje dvě aplikační služby. Názvy služeb, zdrojové cesty, jazyky a cíle hostování říkají azd , co se má zabalit a kam ho nasadit:

name: store
services:
  api:
    project: ./src/api
    language: js
    host: containerapp
  web:
    project: ./src/web
    language: js
    host: staticwebapp

Infrastruktura jako kód

Většina šablon obsahuje infra adresář se soubory Bicep nebo Terraform. Tyto soubory definují Azure zdroje, přiřazení rolí, sítě, nastavení aplikace a výstupy nasazení vyžadované projektem.

U výchozího zprostředkovatele Bicep se azd obvykle používá infra/main.bicep jako vstupní bod pro nasazení a infra/main.parameters.json k mapování hodnot prostředí azd na parametry Bicep. Šablony Terraformu běžně používají infra/main.tf a související soubory Terraformu.

Například soubor parametrů Bicep může při nasazení infrastruktury předat hodnoty vybrané pomocí azd:

{
  "parameters": {
    "environmentName": { "value": "${AZURE_ENV_NAME}" },
    "location": { "value": "${AZURE_LOCATION}" }
  }
}

Po dokončení nasazení Bicep azd ukládá výstupy ze vstupního bodu jako hodnoty prostředí. Aplikační služby a hooky mohou tyto hodnoty používat pro koncové body zdrojů, názvy a další konfiguraci za běhu.

output API_ENDPOINT string = api.outputs.uri

Zdroj aplikace

Zdroj aplikace je volitelný. Pokud šablona obsahuje nasaditelné služby, každá definice služby odkazuje azure.yaml na svůj zdrojový adresář. Šablona může uspořádat služby v rámci srcadresáře , používat adresáře jinde v úložišti nebo odkazovat službu na kořen úložiště.

Samotný název složky není významný. Hodnota project v azure.yaml určuje, kde azd najde každou službu.

Konfigurace prostředí

Adresář .azure obsahuje místní stav prostředí a hodnoty vytvořené uživatelem azd. Může obsahovat hodnoty pro předplatné, umístění, název prostředku, koncový bod a výstupní hodnoty nasazení pro více prostředí.

Považujte tento adresář za lokální stav, a ne jako znovu použitelnou součást šablony. Nepokládejte soubory prostředí, které obsahují tajné kódy nebo hodnoty specifické pro prostředí.

Podpůrné prostředky

Šablony můžou také obsahovat:

  • definice GitHub Actions nebo Azure Pipelines.
  • Dockerfiles a konfigurace kontejneru.
  • Konfigurace vývojového kontejneru
  • Háčky příkazů a služeb.
  • Dokumentace k testům, skriptům a projektům

Tyto prostředky jsou volitelné a měly by být zahrnuty pouze v případě, že podporují zamýšlené prostředí šablon.

Přidružení služeb a prostředků

Pokud chcete nasadit aplikační službu, azd musíte přidružit její definici azure.yaml ke zřízenému prostředku Azure. Ve výchozím nastavení azd najde prostředek, jehož tag azd-service-name odpovídá názvu služby.

Například služba s názvem api mapuje na prostředek označený značkou azd-service-name: api. Místo toho můžete vlastnost služby použít resourceName k explicitní identifikaci cíle nasazení.

Následující výraz v jazyce Bicep přidá značku pro zjišťování ke stávajícím značkám prostředku:

tags: union(tags, {
  'azd-service-name': 'api'
})

Při úpravě šablony udržujte názvy služeb, nastavení zjišťování prostředků, výstupy infrastruktury a proměnné prostředí aplikace zarovnané.

Sestavení nebo přizpůsobení šablony

Doporučený způsob práce při vytváření obsahu je spustit azd init a vybrat možnost Nastavit pomocí GitHub Copilotu (Preview). Vyhrazená relace agenta Copilot může analyzovat existující soubory, pomoci naplánovat nový projekt, vygenerovat šablonové prostředky a ověřit výsledek. Informace o tomto pracovním postupu a dalších metodách tvorby najdete v tématu Začněte s novou šablonou.

Vygenerované soubory nejsou svázané s Copilot. Soubory šablon můžete prozkoumat a upravit přímo po inicializaci. Stejné soubory můžete také vytvořit ručně nebo pomocí jiného agenta kódování AI.

Pokud šablona z Microsoft, vaše organizace nebo komunita vývojářů už poskytuje užitečnou architekturu, začněte od stávající šablony a upravte ji pro svůj projekt. Procházet dostupné šablony v galeriích šablon

Pokyny k používání šablon

Každá šablona je licencovaná vlastníkem podle smlouvy, která tuto šablonu doprovází. Určete, která licence se vztahuje před použitím nebo distribucí šablony.

Microsoft neodpovídá za šablony jiných společností než Microsoft a neprověřuje je z hlediska zabezpečení, ochrany osobních údajů, kompatibility ani výkonu. Šablony, včetně šablon Microsoft, nejsou podporovány programem Microsoft podpory ani službou a poskytují se bez záruky.

Před zřízením zkontrolujte všechny soubory šablon. Konkrétně vyhodnoťte přiřazení rolí, vystavení sítě, metody ověřování, úrovně služeb, umístění prostředků a očekávané náklady.

Další kroky