以下命令基于我在官方文档中找到的用于创建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 但我怀疑这是问题。
答案 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分钟,但是我的所有发行版现在都是可靠的。