Azure CLI任务“az sf cluster create”因托管代理

时间:2017-11-12 08:35:18

标签: azure azure-devops azure-resource-manager azure-pipelines-release-pipeline azure-cli

以下命令基于我在官方文档中找到的用于创建Linux Service Fabric群集的代码段。

最初它是bash脚本,但是在我的私有构建代理上不可用(需要Windows内部程序?)所以我切换到批处理脚本。

我想知道为什么以下命令失败:

d:\a\r1\a>call az sf cluster create --resource-group "ha17aztestclustergroup"  --location "westeurope"  --certificate-output-folder . --certificate-password "433q6D7sdNKkd-.,6ck@6"  --certificate-subject-name "ha17rsomaztestsf.cloudapp.azure.com"  --cluster-name "ha17aztestcluster"  --cluster-size 3 --os UbuntuServer1604 --vault-name "ha17rsomaztestkeyvault"  --vault-resource-group "ha17aztestclustergroup"  --vm-password $VmPassword --vm-user-name "sfadmin" 
ERROR: az sf cluster: error: argument subcommand: invalid choice: create
usage: az sf cluster [-h]
                      {select,manifest,code-version,config-version,health} ...

安装了AZ CLI 2.0.20的完全相同的内联脚本适用于我的私有构建代理

Azure托管代理(VS2017)已安装AZ CLI 2.0.14 但我怀疑这是问题。

2 个答案:

答案 0 :(得分:0)

Hosted VS2017安装了Azure CLI 2.0.14,没有针对az sf群集的 create 命令(2.0.21包含),您可以通过添加 Azure CLI <来检查它/ strong>使用z sf cluster --help命令检查其命令的任务。

因此,您可以设置私有构建代理并使用此代理进行构建。 Deploy an agent on Windows

答案 1 :(得分:0)

在部署其他资源(Function Apps)时遇到了类似的问题。比托管代理上安装的更高版本中有一个错误修复。

我最终通过在脚本中动态注入此命令,或者只是在发行版中执行了额外的Azure CLI步骤来更新Azure CLI来解决了这个问题

pip install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge

不幸的是,更新代理大约需要5分钟,但是我的所有发行版现在都是可靠的。