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

3vpjnl9f  于 2023-06-06  发布在  其他
关注(0)|答案(4)|浏览(281)

在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更新中保持稳定。

niknxzdl

niknxzdl1#

使用Azure DevOps Hosted代理时,某些软件会自动安装在计算机上。完整列表可以在here Ubuntu中找到。
其中一个软件是Azure CLI:Latest。因此,如果你想降级,你需要安装一个新版本。repo在初始安装后被删除,因此您需要首先重新添加:

AZ_REPO=$(lsb_release -cs)
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" |
 sudo tee /etc/apt/sources.list.d/azure-cli.list

AZ_VERSION=2.2.0
UBUNTU_CODENAME=bionic

sudo apt install -y --allow-downgrades azure-cli=$AZ_VERSION-1~$UBUNTU_CODENAME
ewm0tg9j

ewm0tg9j2#

如何在Azure DevOps中设置az cli具体版本
若要解决此错误,请尝试再次运行任务,并取消选中“标准错误失败”**:

此外,恐怕没有这样的开箱即用的方式来设置az cli的具体版本。我也不能在已经有最新版本az cli的代理中安装旧版本,无论是通过python命令还是chocolate包:
python命令:

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

此命令行仅安装最新版本的az cli。由于我没有旧版本的网址,我无法测试它是否与Python命令一起工作,以安装旧版本的az ci时,已经安装了最新版本。
然后我用巧克力 Package 测试它:
https://chocolatey.org/packages/azure-cli/2.1.0#individual

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

但是,由于存在最新版本的软件包,此安装命令仍然失败。
查看this thread了解更多详细信息。
或者,您可以设置私有代理来构建项目,并通过choco包安装旧版本的azure-cli。
希望这能帮上忙。

z31licg0

z31licg04#

请注意,要让这个解决方案工作,您需要运行

sudo apt-get update

之前

sudo apt install

否则,下载的版本列表不会更新,并且apt install将报告找不到该版本。

相关问题