Azure 開發人員 CLI (azd) 可協助您使用自己的設定來建立和管理 環境 ,例如開發、測試和生產環境。本文說明如何建立和管理環境,以及如何將其與 Bicep 基礎結構檔案搭配使用。
建立環境
使用 azd env new 命令建立新的環境:
azd env new <environment-name>
例如,若要建立開發環境:
azd env new dev
當您執行 或 azd deploy之類的azd up命令時,azd會提示您選取新環境的 Azure 訂用帳戶和位置。 提示設定會儲存在新的環境 .env 或 config.json 檔案中。
您也可以直接在 命令中指定訂用帳戶和位置:
azd env new prod --subscription "My Production Subscription" --location eastus2
列出環境
若要檢視專案的所有可用環境,請使用:
azd env list
此指令會顯示您建立的所有環境,並醒目提示目前的使用中環境:
NAME DEFAULT LOCAL REMOTE
dev true true false
test false true false
prod false true false
在環境之間切換
若要切換至不同的環境,請使用 azd env select 命令:
azd env select <environment-name>
例如,若要切換至生產環境:
azd env select prod
備註
此命令會變更作用中的環境,這會影響 或 deploy等provision後續azd命令。
瞭解默認環境
全域組態檔 .azure/config.json 會追蹤您目前選取的環境。 當您執行 azd init 且沒有任何環境存在時, azd 會自動建立您的第一個環境,並將其設定為預設值。 如果您已經有一或多個環境並執行 azd env new <name>, azd 則會提示您選擇是否要將新環境設為預設值。 如果您拒絕,則會建立新的環境,但目前的選取專案會保持不變。
您可以使用 旗標,暫時覆寫單一命令 --environment 的默認環境。 使用此旗標不會變更未來命令的預設值。
重新整理環境設定
您可以使用 命令來 azd env refresh 重新整理本機環境變數。 此命令會找出您應用程式的最新 Azure 部署、依名稱擷取環境變數值,然後使用選取環境的最新值來更新本機 .env 檔案。 例如,如果您同時 dev 布建 和 prod 版本,而且您目前已 dev 選取環境,它會從該部署擷取最新的輸出,以填入 .env 檔案。
azd env refresh
備註
azd env refresh命令不會重新部署資源。 它只會更新本機環境組態,以符合 Azure 中的目前狀態。
重新整理您的環境在:
- 您要確保您的本機
.env檔案反映基礎結構的最新輸出(例如連接字串、端點等)。 - 您必須在小組成員更新環境之後同步處理環境變數。
如果其他小組成員變更環境設定,或透過 Azure 入口網站進行變更,您可以使用下列方式重新整理本機環境設定:
在特定環境中執行命令
您可以在特定環境中執行許多 azd 命令,而不需使用 --environment 或 -e 旗標來變更使用中的環境:
azd up --environment dev
此命令會在 up 環境中執行工作流程(布建和部署),而不需變更作用中的 dev 環境。
或者,您可以先切換到預定的環境:
azd env select test
azd up
備註
Teams 應該考慮透過 azd pipeline config 命令使用 CICD 管線,而不是使用 或 azd provision之類的azd up命令直接部署。
刪除環境資源
若要使用 azd down 命令刪除特定環境的 Azure 資源:
azd down <environment-name>
備註
目前無法使用命令直接刪除或重新命名 azd 環境。 如果您需要重新命名環境:
- 使用
azd down來刪除環境資源。 - 執行
azd env new <new-name>以建立新的環境。 - 從手動刪除舊
.env資料夾.azure。
在基礎結構檔案中使用環境名稱
您可以使用 AZURE_ENV_NAME 環境檔案中的 .env 變數來自定義 Bicep 中的基礎結構部署。 這適用於根據目前環境來命名、標記或設定資源。
備註
請流覽 使用環境變數 以深入瞭解如何使用環境變數來設定 Azure 開發人員 CLI 專案。
azd當您初始化專案時,AZURE_ENV_NAME會設定環境變數。AZURE_ENV_NAME=dev在您的
main.parameters.json檔案中,參考環境變數,以azd取代其值:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "environmentName": { "value": "${AZURE_ENV_NAME}" } } }當您使用
azd部署 時,來自.env的值會從main.parameters.json傳遞至 Bicep 檔案。在您的 Bicep 範本中,定義環境名稱的參數:
param environmentName string您可以使用
environmentName參數來標記資源,讓您輕鬆識別資源所屬的環境:param environmentName string resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = { name: 'mystorage${uniqueString(resourceGroup().id)}' location: resourceGroup().location sku: { name: 'Standard_LRS' } kind: 'StorageV2' tags: { Environment: environmentName Project: 'myproject' } }
此方法藉由將每個資源與其部署環境產生關聯,藉此協助資源管理、成本追蹤和自動化。