在 Windows Server 2019 自托管代理上找不到 azure cli 扩展
Posted
技术标签:
【中文标题】在 Windows Server 2019 自托管代理上找不到 azure cli 扩展【英文标题】:azure cli extension not found on windows server 2019 self hosted agent 【发布时间】:2020-07-31 16:38:16 【问题描述】:我已在我的 Windows 2019 自托管代理上安装了最新版本的 Azure CLI。检查版本时输出。
PS C:\Users\blahblah> az --version
azure-cli 2.3.1
command-modules-nspkg 2.0.3
core 2.3.1
nspkg 3.0.4
telemetry 1.0.4
Extensions:
azure-devops 0.18.0
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\builduser\.azure\cliextensions'
Python (Windows) 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
然后在 devops azure pipeline release 中运行相同的脚本时:
2020-04-18T03:50:14.3974844Z ##[debug]which 'az'
2020-04-18T03:50:14.3981389Z ##[debug]found: 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd'
2020-04-18T03:50:14.3981785Z ##[debug]which 'az'
2020-04-18T03:50:14.3985125Z ##[debug]found: 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd'
2020-04-18T03:50:14.3988433Z ##[debug]C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd arg: --version
2020-04-18T03:50:14.3989115Z ##[debug]C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd arg: --version
2020-04-18T03:50:14.3998697Z ##[debug]exec tool: C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd
2020-04-18T03:50:14.3998969Z ##[debug]exec tool: C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd
2020-04-18T03:50:14.3999139Z ##[debug]arguments:
2020-04-18T03:50:14.3999314Z ##[debug]arguments:
2020-04-18T03:50:14.4000072Z ##[debug] --version
2020-04-18T03:50:14.4000425Z ##[debug] --version
2020-04-18T03:50:14.4017396Z [command]C:\windows\system32\cmd.exe /D /S /C ""C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" --version"
2020-04-18T03:50:17.1212688Z azure-cli 2.3.1
2020-04-18T03:50:17.1213010Z
2020-04-18T03:50:17.1213120Z command-modules-nspkg 2.0.3
2020-04-18T03:50:17.1213248Z core 2.3.1
2020-04-18T03:50:17.1213345Z nspkg 3.0.4
2020-04-18T03:50:17.1213451Z telemetry 1.0.4
2020-04-18T03:50:17.1213507Z
2020-04-18T03:50:17.1213631Z Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
2020-04-18T03:50:17.1214799Z Extensions directory 'C:\windows\ServiceProfiles\NetworkService\.azure\cliextensions'
2020-04-18T03:50:17.1214873Z
2020-04-18T03:50:17.1215003Z Python (Windows) 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)]
2020-04-18T03:50:17.1215081Z
2020-04-18T03:50:17.1215191Z Legal docs and information: aka.ms/AzureCliLegal
2020-04-18T03:50:17.1215271Z
2020-04-18T03:50:17.1215320Z
2020-04-18T03:50:17.1215369Z
2020-04-18T03:50:17.1215468Z Your CLI is up-to-date.
2020-04-18T03:50:17.1215525Z
2020-04-18T03:50:17.1215623Z Please let us know how we are doing: https://aka.ms/clihats
请注意发布管道未显示我已安装 azure-devops 扩展。我需要这个扩展来远程触发管道发布创建。我已经三倍和四倍地检查我正在比较同一台服务器。
我的下一步是在调用 az 管道之前添加一个安装 Azure CLI 扩展的步骤。但是,我宁愿尝试弄清楚为什么这不起作用。我在本地打了同样的电话,它工作正常。但是,在本地测试相同的调用时,我以自己的身份登录,而不是使用服务主体/服务订阅。
有没有人遇到过这个问题并知道这里发生了什么?任何建议将不胜感激。
【问题讨论】:
【参考方案1】:我发现你的本地和发布管道中的 Extensions 目录不一致。
在本地:
Extensions directory 'C:\Users\builduser\.azure\cliextensions'
在发布管道日志中:
Extensions directory 'C:\windows\ServiceProfiles\NetworkService\.azure\cliextensions'
如果你使用的是私有代理,扩展目录应该是一致的:
所以你需要检查以下几点:
1.您安装 az cli 的机器与您用于运行管道的代理是同一台机器。
2.根据目录路径,检查azure cli的安装情况。
【讨论】:
啊,很好的收获。作为版本的一部分,我添加了一个安装 azure cli 的步骤,它现在正在运行。非常感谢您的帮助。以上是关于在 Windows Server 2019 自托管代理上找不到 azure cli 扩展的主要内容,如果未能解决你的问题,请参考以下文章
带有 SQL Server 2019 Express 的 Windows Server 2019 上的 Hangfire
具有 OWIN 自主机和 Windows 身份验证的 Web Api
Windows Server 2019 中的 Java 8 性能问题