使用現有的範本將 Azure 開發人員 CLI 支援新增至您的應用程式
Azure 開發人員 CLI (azd
) 提供兩個不同的工作流程來初始化範本以搭配您的應用程式使用,包括:
- 使用目前目錄中的程式代碼:此方法會分析您的應用程式,並自動產生支援的基礎結構和組態資源。
- 選取範本:此方法可讓您整合現有的範本與您的應用程式,或使用現有的範本作為新應用程式的起點。
這兩種方法都會在 建立 Azure 開發人員 CLI 樣本概觀 檔中探索。
在本文中,您將瞭解如何透過選取範本方法,將 Azure 開發人員 CLI 的支援azd
新增至您的應用程式。 如需替代方法的詳細資訊,請流覽使用現有範本檔將支援新增azd
至您的應用程式。 您也可以瀏覽 訓練 - 建置和部署 azd
範本 ,以取得建 azd
置範本的詳細資訊。
為您的應用程式選取範本
選取命令的azd init
範本工作流程可讓您選擇要作為起點的現有azd
範本。 選取樣本的內容會新增至專案的根目錄。 大部分的範本都提供所需的一組 azd
檔案和資料夾,而且許多範本都包含完整的基礎結構即程式代碼檔案,以布建所選應用程式堆疊的 Azure 資源。
在此範例中 ,您將使用入門 - Bicep 範本,其中包含範本的基本結構 azd
,以及一些實用的重複使用程式代碼來開始使用。 當您想要建構正確的範本結構和啟動資源時,入門範本是絕佳的選擇,但仍撰寫您自己的基礎結構檔案。
若要遵循使用現有範例應用程式前面的步驟,請將下列入門專案複製到您電腦上的空白目錄:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
在您選擇的命令行工具中,瀏覽至複製專案的根目錄。
azd init
執行 命令來初始化azd
範本。azd init
出現提示時,請選擇 [ 選取範本] 選項。
從範本清單中,選取 [入門 - Bicep]。 您可以輸入範本名稱,或使用鍵盤箭頭鍵來尋找它。
出現提示時,請輸入簡短的環境名稱,例如 testenv。
執行
azd init
之後,會將下列資產新增至目前的目錄:├── .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]
更新 Bicep 檔案
您的項目現在包含範本的核心結構和資產 azd
。 不過,若要為特定專案布建 Azure 資源,必須更新資料夾中的 infra
Bicep 檔案。 若要載入範例應用程式,您必須使用 Bicep 檔案來定義下列資源:
- Azure App 服務方案
- 在 Linux 上執行的 Azure App 服務
在您選擇的編輯器中開啟根項目目錄,例如 Visual Studio Code。
main.bicep
使用編輯器開啟資料夾中的infra
檔案。 此檔案包含實用的重複使用程式碼,可設定基本變數、參數和命名慣例。 在大約 50 行的批注區塊下方,Add resources to be provisioned below
新增下列 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' } } }
注意
- 會根據訂用帳戶標識碼產生唯一
${resourceToken}
字串,並當做變數使用。 此令牌會附加至 所azd
建立的所有 Azure 資源名稱。 azd
會使用標記來識別資源,以便根據組織的命名慣例來修改名稱。'azd-service-name': 'web'
App Service 上的標記是用來識別部署主機的值azd
。 此值必須與 azure.yaml 檔案中服務所定義的值相同。
- 會根據訂用帳戶標識碼產生唯一
更新 azure.yaml 檔案
若要部署應用程式, azd
必須深入瞭解您的應用程式。 檔案 azure.yaml
可用來定義應用程式中每個服務的原始程式碼位置、語言和 Azure 主控服務。 如需完整詳細數據,請參閱 azure.yaml 架構。
azure.yaml
在專案的根目錄開啟 。將下列幾行新增至檔案底部:
name: msdocs-python-flask-webapp-quickstart services: web: project: . language: py host: appservice
佈建和部署範本
儲存所有變更,然後執行下列命令,在 Azure 上佈建和部署應用程式資源:
azd up
當命令完成時,按下命令輸出中的連結以流覽至已部署的網站。
您的項目現在與 Azure 開發人員 CLI 相容,並可作為範本使用。
注意
azd
也支持預設使用 Buildpack 來容器化您的應用程式。 azd
如果您的範本是以 Azure Container Apps 或 Azure Kubernetes Service 為目標,但不包含 Docker 檔案,azd
則使用 Buildpack 自動產生映像。