Azure CLI - VSTS - Yaml - 似乎只执行了脚本的第一行
Azure CLI - VSTS - Yaml - Only the first line of the script seems to be executed
我有以下用于 vsts 的 yaml 构建定义,它应该创建一个 azure 资源组并部署资源。
但是,在创建资源组时,不会部署任何资源。好像脚本的第二行被忽略了。
请注意,如果我单独 运行 部署脚本行(当资源组存在时),则会部署资源。
steps:
- task: AzureCLI@1
inputs:
azureSubscription: 'MySub (xxxxxxxxxxxxxxx)'
scriptLocation: inlineScript
inlineScript: |
az group create -l westeurope -n TestRG
az group deployment create -g TestRG --mode Incremental --template-file azuredeploy.json --parameters @azuredeploy.parameters.json
workingDirectory: Test
这里是构建输出:
******************************************************************************
Starting: AzureCLI
******************************************************************************
==============================================================================
Task : Azure CLI
Description : Run a Shell or Batch script with Azure CLI commands against an azure subscription
Version : 1.130.0
Author : Microsoft Corporation
Help : [More Information](http://go.microsoft.com/fwlink/?LinkID=827160)
==============================================================================
az group deployment create -g TestRG --mode Incremental --template-file azuredeploy.json --parameters @azuredeploy.parameters.json
C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" login --service-principal -u ******** -p ******** --tenant ********"
[
{
"cloudName": "AzureCloud",
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"isDefault": true,
"name": "Test",
"state": "Enabled",
"tenantId": "********",
"user": {
"name": "********",
"type": "servicePrincipal"
}
}
]
C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" account set --subscription Test"
C:\Windows\system32\cmd.exe /D /S /C ""C:\Users\VSSADM~1\AppData\Local\Temp\azureclitaskscript1520242163645.bat""
D:\a\s\Swoon>az group create -l westeurope -n TestRG
{
"id": "/subscriptions/xxxxxxxx/resourceGroups/TestRG",
"location": "westeurope",
"managedBy": null,
"name": "TestRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
******************************************************************************
Finishing: AzureCLI
******************************************************************************
您使用的是window代理,所以您需要在多条命令前追加call才能全部执行。
例如:
call az group create -l westeurope -n TestRG
call az group deployment create -g TestRG --mode Incremental --template-file azuredeploy.json --parameters @azuredeploy.parameters.json
我有以下用于 vsts 的 yaml 构建定义,它应该创建一个 azure 资源组并部署资源。
但是,在创建资源组时,不会部署任何资源。好像脚本的第二行被忽略了。
请注意,如果我单独 运行 部署脚本行(当资源组存在时),则会部署资源。
steps:
- task: AzureCLI@1
inputs:
azureSubscription: 'MySub (xxxxxxxxxxxxxxx)'
scriptLocation: inlineScript
inlineScript: |
az group create -l westeurope -n TestRG
az group deployment create -g TestRG --mode Incremental --template-file azuredeploy.json --parameters @azuredeploy.parameters.json
workingDirectory: Test
这里是构建输出:
******************************************************************************
Starting: AzureCLI
******************************************************************************
==============================================================================
Task : Azure CLI
Description : Run a Shell or Batch script with Azure CLI commands against an azure subscription
Version : 1.130.0
Author : Microsoft Corporation
Help : [More Information](http://go.microsoft.com/fwlink/?LinkID=827160)
==============================================================================
az group deployment create -g TestRG --mode Incremental --template-file azuredeploy.json --parameters @azuredeploy.parameters.json
C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" login --service-principal -u ******** -p ******** --tenant ********"
[
{
"cloudName": "AzureCloud",
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"isDefault": true,
"name": "Test",
"state": "Enabled",
"tenantId": "********",
"user": {
"name": "********",
"type": "servicePrincipal"
}
}
]
C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" account set --subscription Test"
C:\Windows\system32\cmd.exe /D /S /C ""C:\Users\VSSADM~1\AppData\Local\Temp\azureclitaskscript1520242163645.bat""
D:\a\s\Swoon>az group create -l westeurope -n TestRG
{
"id": "/subscriptions/xxxxxxxx/resourceGroups/TestRG",
"location": "westeurope",
"managedBy": null,
"name": "TestRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
******************************************************************************
Finishing: AzureCLI
******************************************************************************
您使用的是window代理,所以您需要在多条命令前追加call才能全部执行。
例如:
call az group create -l westeurope -n TestRG
call az group deployment create -g TestRG --mode Incremental --template-file azuredeploy.json --parameters @azuredeploy.parameters.json