共用方式為


Azure 開發人員 CLI 環境概觀

Azure 開發人員 CLI (azd) 可讓您管理專案的多個部署環境,以將設定分開進行開發、測試和生產環境。 本文說明如何使用環境來管理開發和部署程式的基本概念。

什麼是環境?

Azure 開發人員 CLI (azd) 中的環境是應用程式部署的一組具名組態,例如開發、測試或生產。不同的環境可以使用不同的值來設定。 環境有數個重要用途:

  • 隔離:將開發、測試和生產部署分開。
  • 組態管理:維護每個環境的不同設定。
  • 共同作業:讓小組成員能夠使用自己的環境。
  • 資源組織:依環境分組和布建 Azure 資源。
  • 重現性:確保跨不同階段的一致部署。

每個環境都有自己的 Azure 資源群組和組態設定。 此環境隔離有助於防止某個環境中的變更影響其他人。

環境結構和組態

Azure 開發人員 CLI (azd) 環境位於您專案內的目錄結構中:

├── .azure                          [Created when you run azd init or azd up]
│   ├── <environment-name-1>        [Directory for environment-specific configurations]
│   │   ├── .env                    [Environment variables for this environment]
│   │   └── config.json             [Additional configuration parameters for this environment]
│   ├── <environment-name-2>        [Another environment]
│   │   ├── .env                    
│   │   └── config.json
│   └── config.json                 [Global azd configuration]

此結構的主要元件包括:

  • .azure directory:所有環境組態的根目錄。 根據預設, .gitignore 檔案會從原始檔控制中排除。
  • 環境特定目錄:以您的環境命名的目錄,例如 devtestprod
  • .env file:包含您的應用程式和部署期間所使用的環境特定變數。
  • config.json:用來驅動影響 azd 命令行為和功能的設定。 此檔案並非供終端使用者直接使用。

環境名稱

環境命名通常會遵循下列模式:

  • 小組專案: <project-name-[dev/int/prod]>
  • 個人專案: <personal-unique-alias-[dev/int/prod]>

這些命名慣例不會由 azd 強制執行,而且可由用戶設定。

環境變數

Azure 開發人員 CLI 環境變數 提供一種方式來儲存會影響環境且可能會有所不同的組態設定。 當您執行 Azure 開發人員 CLI 命令時,這些變數會用來:

  • 設定您的應用程式設定,例如 Azure 服務的端點。
  • 定義基礎結構參數以影響布建程式。

檔案 .env 包含標準格式的這些變數:

AZURE_ENV_NAME=dev
AZURE_LOCATION=eastus
AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
AZURE_RESOURCE_GROUP=rg-dev-12345
SERVICE_WEB_HOSTNAME=web-dev-12345.azurewebsites.net
SERVICE_API_HOSTNAME=api-dev-12345.azurewebsites.net

常見的環境變數包括:

變數 說明
AZURE_ENV_NAME 目前環境的名稱
AZURE_LOCATION 部署資源的 Azure 區域
AZURE_SUBSCRIPTION_ID 用於此環境的 Azure 訂用帳戶標識碼
AZURE_RESOURCE_GROUP 此環境的資源群組名稱

小提示

如需其他常見的環境變數和服務特定範例,請瀏覽 環境變數 檔。

使用環境變數時:

  • 避免將 .env 檔案認可至原始檔控制。 如果需要保存或共用環境設定,用戶應該使用 遠程環境
  • 跨環境使用一致的命名。
  • azd env set使用命令安全地更新變數。

警告

永遠不要將秘密儲存在 Azure 開發人員 CLI .env 檔案中。 這些檔案可以輕鬆地共用或複製到未經授權的位置,或簽入原始檔控制。 使用 Azure Key Vault 或 Azure 角色型存取控制 (RBAC) 等服務來保護或無秘密的解決方案。

比較其他架構環境

許多程式設計架構和工具,例如 Node.js、Django 或 React 都會使用 .env 檔案進行組態。 雖然 Azure 開發人員 CLI (azd) 也會使用 .env 檔案,但有一個重要的差異:

概念 Azure 開發人員 CLI .env 架構 .env 檔案
地點 儲存在 .azure/<environment-name>/.env 通常儲存在專案根目錄中
環境支援 支援多個使用者定義環境(開發、測試、生產) 通常需要手動切換檔案或命名慣例 (.env.development.env.production
載入機制 命令 azd 自動載入 通常需要在應用程式程式代碼或建置腳本中明確載入
整合 與 Azure 服務和資源布建緊密整合 一般用途組態,而非 Azure 特定
變數管理 透過 azd env 命令進行管理 通常手動或透過自定義腳本編輯

雖然兩者都有類似的用途,但 Azure 開發人員 CLI 的方法 .env 會新增結構和工具,專為管理多個部署環境和 Azure 資源而設計。

備註

如果您的項目已經使用架構特定的 .env 檔案,您可以保留這兩個組態系統,而不會發生衝突。 azd 環境變數會針對某些作業覆寫同名的系統環境變數。

後續步驟