Přidání podpory Azure Developer CLI do aplikace pomocí existující šablony
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 přístupu k výběru šablony . 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.
Výběr šablony pro vaši aplikaci
Výběr pracovního postupu šablony azd init
příkazu umožňuje zvolit existující azd
šablonu, která se má použít jako výchozí bod. Obsah vybrané šablony se přidá do kořenového adresáře projektu. Většina šablon poskytuje požadovanou sadu azd
souborů a složek a mnoho z nich zahrnuje kompletní soubory infrastruktury jako kódu pro zřizování prostředků Azure pro vybraný zásobník aplikací.
V tomto příkladu použijete šablonu Starter – Bicep , která obsahuje základní strukturu azd
šablony a užitečný často používaný kód, abyste mohli začít. Úvodní šablony jsou skvělou volbou, když chcete vygenerovat správnou strukturu šablon a počáteční prostředky, ale stále vytvářet vlastní soubory infrastruktury.
Pokud chcete postupovat podle kroků dopředu pomocí existující ukázkové aplikace, naklonujte následující počáteční projekt do prázdného adresáře v počítači:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Ve zvoleném nástroji příkazového řádku přejděte do kořenového adresáře klonovaného projektu.
Spuštěním
azd init
příkazu inicializujeteazd
šablonu.azd init
Po zobrazení výzvy zvolte možnost Vybrat šablonu.
V seznamu šablon vyberte Starter – Bicep. Název šablony můžete zadat nebo ho najít pomocí kláves se šipkami klávesnice.
Po zobrazení výzvy zadejte krátký název prostředí, například testenv.
Po spuštění
azd init
se do aktuálního adresáře přidají následující prostředky:├── .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]
Aktualizace souborů Bicep
Váš projekt teď obsahuje základní strukturu a prostředky šablony azd
. Pokud ale chcete zřídit prostředky Azure pro váš konkrétní projekt, je potřeba aktualizovat soubory Bicep ve infra
složce. Pokud chcete hostovat ukázkovou aplikaci, budete muset pomocí souborů Bicep definovat následující prostředky:
- Plán služby Aplikace Azure
- Služba Aplikace Azure spuštěná v Linuxu
Otevřete kořenový adresář projektu ve zvoleném editoru, například v editoru Visual Studio Code.
main.bicep
Otevřete soubor veinfra
složce pomocí editoru. Tento soubor obsahuje užitečný často používaný kód k nastavení základních proměnných, parametrů a konvencí pojmenování. Pod blok komentáře kolem řádku 50, který přečteAdd resources to be provisioned below
, přidejte následující Bicep:// Creates an app service instance to host the app module web './core/host/appservice.bicep' = { name: 'web' scope: rg params: { name: '${abbrs.webSitesAppService}web-${resourceToken}' location: location tags: union(tags, { 'azd-service-name': 'web' }) appServicePlanId: appServicePlan.outputs.id runtimeName: 'python' runtimeVersion: '3.8' scmDoBuildDuringDeployment: true } } // Create an App Service Plan to group applications under the same payment plan and SKU module appServicePlan './core/host/appserviceplan.bicep' = { name: 'appserviceplan' scope: rg params: { name: '${abbrs.webServerFarms}${resourceToken}' location: location tags: tags sku: { name: 'B1' } } }
Poznámka:
- Jedinečný řetězec se generuje na základě ID předplatného a používá se jako proměnná
${resourceToken}
. Tento token se připojí k názvu všech prostředků Azure vytvořených nástrojemazd
. azd
používá značky k identifikaci prostředků, abyste mohli názvy upravovat na základě zásad vytváření názvů vaší organizace.- Značka
'azd-service-name': 'web'
ve službě App Service je hodnotaazd
, která slouží k identifikaci hostitele nasazení. Hodnota musí být stejná jako hodnota definovaná pro službu v souboru azure.yaml .
- Jedinečný řetězec se generuje na základě ID předplatného a používá se jako proměnná
Aktualizace souboru azure.yaml
Pokud chcete aplikaci nasadit, azd
potřebujete se o aplikaci dozvědět víc. Tento azure.yaml
soubor slouží k definování umístění zdrojového kódu, jazyka a hostitelské služby Azure pro každou službu ve vaší aplikaci. Úplné podrobnosti najdete ve schématu azure.yaml.
azure.yaml
Otevřete v kořenovém adresáři projektu.Do dolní části souboru přidejte následující řádky:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
Zřízení a nasazení šablony
Uložte všechny změny a spuštěním následujícího příkazu zřiďte a nasaďte prostředky aplikace v Azure:
azd up
Po dokončení příkazu klikněte na odkaz ve výstupu příkazu a přejděte na nasazenou lokalitu.
Váš projekt je teď kompatibilní s Azure Developer CLI a dá se použít jako šablona.
Poznámka:
azd
podporuje také použití buildpacku pro kontejnerizaci vašich aplikací ve výchozím nastavení. Pokud vaše azd
šablona cílí na Azure Container Apps nebo Azure Kubernetes Service, ale neobsahuje soubor Dockeru, azd
automaticky vygeneruje image pomocí buildpacku.