wol*_*akp 9 bash azure azure-cli azure-devops
上次更新 Azure DevOps 后,我们的管道停止工作。
我正在使用AZURE CLI任务。
调查显示az cli已更新为2.2.0,但我们这边没有任何更改。
/usr/bin/az --version
azure-cli 2.2.0
Run Code Online (Sandbox Code Playgroud)
并且某些az cli操作开始打印警告。
Warnings默认情况下被重定向bash到错误流,所以我最终得到:
Error: The process '/bin/bash' failed because one or more lines were written to the STDERR stream
Run Code Online (Sandbox Code Playgroud)
az cli如何为我的管道设置具体版本?
我希望管道能够通过 Azure DevOps 更新保持稳定。
使用 Azure DevOps 托管代理时,某些软件会自动安装在计算机上。完整列表可以在这里找到Ubuntu。
其中一款软件是Azure CLI:Latest. 因此,如果您想降级,则需要安装新版本。该存储库在初始安装后被删除,因此您需要首先重新添加它:
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
Run Code Online (Sandbox Code Playgroud)
如何在 Azure DevOps 中设置 az cli 具体版本
要解决该错误,请尝试在未选中“标准错误失败”选项的情况下再次运行该任务:
此外,恐怕没有这样的现成方法来设置az cli. 我也无法通过 python 命令或巧克力包在已经具有最新版本 az cli 的代理中安装旧版本:
蟒蛇命令:
pip install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge
Run Code Online (Sandbox Code Playgroud)
此命令行仅安装最新版本的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
Run Code Online (Sandbox Code Playgroud)
但是,由于存在最新版本包,该安装命令仍然失败。
检查此线程以获取更多详细信息。
或者,您可以设置私人代理来构建您的项目,并通过 choco 包安装旧版本的 azure-cli。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
5774 次 |
| 最近记录: |