使用 AzureCLI@2,我正在努力弄清楚如何利用
--environment-variables
参数来实现 az container create
。这是我尝试过的方法,示例环境变量名为“SecretDatabase”(滚动到命令行的最右侧)。两个例子都失败了。
az container create --verbose --name $(containerGroupName) --resource-group $(acrResourceGroup) --image $(containerRegistryUrl)/$(imageRepository):$(Build.BuildId) --cpu 1.00 --memory 2.0 --registry-login-server $(containerRegistryUrl) --registry-username "$(containerRegistryName)" --registry-password "$(acrPassword)" --location eastus --environment-variables SecretDatabase=$env:SecretDatabase
az container create --verbose --name $(containerGroupName) --resource-group $(acrResourceGroup) --image $(containerRegistryUrl)/$(imageRepository):$(Build.BuildId) --cpu 1.00 --memory 2.0 --registry-login-server $(containerRegistryUrl) --registry-username "$(containerRegistryName)" --registry-password "$(acrPassword)" --location eastus --environment-variables SecretDatabase="$(SecretDatabase)"
我创建了一个使用您的
az container create
命令的测试管道,它对我来说没有问题。您的问题可能取决于您如何初始化 SecretDatabase
变量。
值得注意的是,在
--location
参数之前,有两个空格。不过我在我的机器上测试了一下,这两个空格并没有造成任何问题。
这是使用 AzureCLI@2 创建容器的示例 yaml 文件:
trigger: none
pool:
vmImage: windows-latest
variables:
- name: serviceConnection
value: "redacted"
- name: containerGroupName
value: "redacted"
- name: acrResourceGroup
value: "redacted"
- name: containerRegistryImage
value: "redacted.azurecr.io/redacted:latest"
- name: containerRegistryUrl
value: "redacted.azurecr.io"
- name: containerRegistryName
value: "redacted"
- name: acrPassword
value: "this should be stored in a Key Vault"
- name: SecretDatabase
value: "Secret Database Name"
steps:
- task: AzureCLI@2
inputs:
azureSubscription: ${{ variables.serviceConnection }}
scriptType: ps
scriptLocation: inlineScript
inlineScript: >
az container create
--name $(containerGroupName)
--resource-group $(acrResourceGroup)
--image $(containerRegistryImage)
--cpu 1.00
--memory 2.0
--registry-login-server $(containerRegistryUrl)
--registry-username "$(containerRegistryName)"
--registry-password "$(acrPassword)"
--location eastus
--environment-variables SecretDatabase="$(SecretDatabase)"
这是在 Azure 中创建的容器,显示了
SecretDatabase
环境变量: