如何在Azure DevOps中设置Az CLI具体版本

时间:2020-03-20 13:05:05

标签: bash azure azure-devops azure-cli

Azure DevOps的最新更新之后 我们的管道停止工作了。
我正在使用AZURE CLI任务。
调查显示,az cli已更新为2.2.0,但对我们而言并没有任何改变。

/usr/bin/az --version
azure-cli                          2.2.0

某些az cli操作开始显示警告。
默认情况下,Warningsbash中被重定向到错误流, 所以我最终得到:

Error: The process '/bin/bash' failed because one or more lines were written to the STDERR stream

如何为我的管道设置az cli的具体版本?
我希望通过Azure DevOps更新使管道稳定。

3 个答案:

答案 0 :(得分:1)

使用Azure DevOps托管代理时,计算机上会自动安装某些软件。完整列表可以在here Ubuntu中找到。

其中一个软件是Azure CLI:Latest。因此,如果要降级,则需要安装新版本。以下命令是我设法安装新版本(Bash)的方式:

sudo apt install -y --allow-downgrades azure-cli=%AZ VERSION%-1~bionic

用法:

sudo apt install -y --allow-downgrades azure-cli=2.2.0-1~bionic

诀窍是在指定要安装的版本后使用~bionic

答案 1 :(得分:0)

如何在Azure DevOps中设置az cli具体版本

要解决该错误,请尝试使用选项“ 标准错误失败未选中再次尝试运行任务:

enter image description here

此外,恐怕还没有现成的方式来设置az cli的具体版本。我既不能通过python命令也可以通过Chocolate软件包在已经具有最新版本az cli的代理中安装旧版本:

python命令:

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

此命令行仅安装最新版本的az cli。由于我没有旧版本的url,因此,如果已经安装了最新版本,则无法测试它是否可以与python命令一起安装旧版本的az ci。

然后我通过巧克力包装对其进行测试:

https://chocolatey.org/packages/azure-cli/2.1.0#individual

choco install azure-cli --version=2.1.0 --force

但是,由于存在最新版本的软件包,此安装命令仍然失败。

检查this thread了解更多详细信息。

或者,您可以设置private agent来构建项目,并通过choco软件包安装旧版本的azure-cli。

希望这会有所帮助。

答案 2 :(得分:0)