您可以擴充 azd pipeline config 命令以支援進階案例和自定義需求,如下列各節所述。
自訂秘密和變數
根據預設, azd 設定管線的基本變數和秘密。 例如,當您執行 azd pipeline config時,它會建立 、、 和 subscription id等environment nameregion變數。 管線定義中會參考這些變數:
env:
AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
當管線執行時, azd 從環境擷取這些值,並將其對應至管線變數和秘密。 視您的範本而定,您可能想要使用環境變數來控制其他設定。 例如,您可以設定 KEY_VAULT_NAME 環境變數來定義基礎結構中 Key Vault 資源的名稱。
若要支援自定義變數和秘密,請在範本的 azure.yaml 檔案中定義它們。 例如:
pipeline:
variables:
- KEY_VAULT_NAME
- STORAGE_NAME
secrets:
- CONNECTION_STRING
使用此設定時, azd 會檢查環境中是否有任何列出的變數或秘密具有值。 然後,它會使用環境值,在管線中建立對應的變數或秘密。
您可以在 azure-dev.yaml 的管線定義中參考這些變數和機密:
- name: Provision Infrastructure
run: azd provision --no-prompt
env:
KEY_VAULT_NAME: ${{ variables.KEY_VAULT_NAME }}
STORAGE_NAME: ${{ variables.STORAGE_NAME }}
CONNECTION_STRING: ${{ secrets.CONNECTION_STRING }}
備註
更新 中的 azure.yaml秘密或變數清單之後,請重新執行 azd pipeline config 以更新管線值。
基礎結構參數
請考慮下列 Bicep 範例:
@secure()
param BlobStorageConnection string
BlobStorageConnection如果參數沒有預設值,azd請在安裝期間提示您輸入值。 不過,CI/CD 執行期間沒有互動式提示。 相反地,當您執行 azd時,azd pipeline config會要求值,並將它儲存為管線秘密,並在管線執行時自動擷取該值。
azd 會使用稱為 AZD_INITIAL_ENVIRONMENT_CONFIG 的管線秘密來儲存並提供必要的參數值。 在管線定義中參考此秘密:
- name: Provision Infrastructure
run: azd provision --no-prompt
env:
AZD_INITIAL_ENVIRONMENT_CONFIG: ${{ secrets.AZD_INITIAL_ENVIRONMENT_CONFIG }}
當管線執行時,azd 使用密碼來提供參數值,而不需要要求互動式提示。
備註
如果您新增參數,請重新執行 azd pipeline config 以更新管線組態。