问题描述
我正在尝试使用 bash 进行 ARM 部署,但出现此错误
ArgumentUsageError: argument --template-uri/-u: expected one argument
我在这里做错了什么?
- task: AzureCLI@2
inputs:
azureSubscription: 'Pay-As-You-Go'
scriptType: 'bash'
scriptLocation: 'inlinescript'
inlinescript: |
armTemplateURI=$('https://xxxx.blob.core.windows.net/temp/Function-Deployment.json?'$(SASTOKEN))
packageURI=$('https://xxxxx.blob.core.windows.net/fileupload/PrdFunctions.zip?'$(SASTOKEN))
output=$(az deployment group create --name "Function-Deployment" --resource-group "rg-dev-xxxx" --template-uri $armTemplateURI --parameters appName="fapp-dev-xxxx" storageName="stgdevxxxx" location="Australia East" cosmosName="cosmos-xxxx" msdeployPackageUrl=$packageURI)
解决方法
如我所见,文档 Set secret variables 显示了以安全方式设置机密的方法。而在 bash 中,您不需要使用 $()
将字符串设置为变量的值。所以你的正确方式应该是这样的:
- task: AzureCLI@2
inputs:
azureSubscription: 'Pay-As-You-Go'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
armTemplateURI='https://xxxx.blob.core.windows.net/temp/Function-Deployment.json?'$MY_SASTOKEN
packageURI='https://xxxxx.blob.core.windows.net/fileupload/PrdFunctions.zip?'$MY_SASTOKEN
output=$(az deployment group create --name "Function-Deployment" --resource-group "rg-dev-xxxx" --template-uri $armTemplateURI --parameters appName="fapp-dev-xxxx" storageName="stgdevxxxx" location="Australia East" cosmosName="cosmos-xxxx" msdeployPackageUrl=$packageURI)
env:
MY_SASTOKEN: $(SASTOKEN)