如何在CI管道中使用Az CLI?

时间:2020-02-05 22:54:53

标签: azure azure-pipelines-release-pipeline

我不知道az登录的工作方式,但是它必须保存凭据以供后续az命令使用。这意味着它不能像在CI管道中那样使用,在CI管道中,多个并发管道可能使用同一系统帐户在同一构建计算机上运行。

那么,我们如何在发布管道中使用Az CLI?

(我知道Az Azure DevOps任务,但是我无法使其工作。)

P.S。

我们使用本地Azure DevOps Server 2019。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,答案是it's sometimes problematic to use multiple self-hosted agents for pipelines that use singleton tools on the same machine:

如果并行构建作业使用相同的单例工具部署(例如npm软件包),您也可能会遇到问题。例如,一个内部版本可能会更新依赖关系,而另一内部版本正在使用依赖关系,这可能会导致不可靠的结果和错误。


我想这可能会扩展到诸如在同一系统帐户上尝试单独的z会话之类的问题。尽管-并且我自己还没有尝试过-但我想知道您是否可以尝试将az login与服务主体客户证书一起使用,如here所示:

az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p ~/mycertfile.pem --tenant contoso.onmicrosoft.com 


编辑:从此PR找到了issue,因此看起来您可以同时运行会话。尽管我仍然不确定,如前所述,如果您要(例如)修改Az CLI工具本身,会发生什么情况。