如何检查管道中是否使用了已安装的扩展

How to check if installed extensions are used in pipelines

我想检查在构建和部署管道中使用了哪些来自 VS Marketplace 的自定义安装扩展。

Azure DevOps 是否为此提供任何视图,还是必须手动完成?

将极大地帮助扩展管理。

我们使用的本地服务器版本:18.181.31230.2(Azure DevOps Server 2020 更新 1)

我们目前没有任何方法可以监控哪些管道正在使用管道任务扩展。

是的,唯一的办法就是人工检查。您需要检查集合中所有管道的定义,以查看哪些正在使用管道任务扩展。

如果您还没有使用 YAML 管道,那么此扩展程序将允许您轻松查询在何处使用了哪些任务:

https://marketplace.visualstudio.com/items?itemName=solidify-labs.build-task-explorer

对于 YAML 来说更难,因为有多种方法可以模板化这些东西,也有多种方法可以引用任务(按名称、按 guid、按全名)。但是,当您查询实际执行的作业的时间线时,您将能够轻松提取任务的指南和名称。但是您需要喜欢 REST API.

对于它的价值,这是一个 powershell,用于检查经典版本中自定义任务扩展的使用情况,但用于 Azure DevOps 服务:

https://github.com/godev99/ps1/blob/main/azdevops_taskext_report.ps1

很脏很乱,但可能会有帮助。

您可以使用此工具使所有管道都可搜索:ExportPipelineDefinitions

它将所有管道导出到磁盘,以便您可以在 Visual Studio 或 VS Code 等搜索工具中使用“在文件中查找”来搜索它们。

您可以搜索自定义安装的扩展、任务名称、代码片段 -- 您的管道定义可能包含的任何字符序列。

我帮助管理了数百个管道并认为这个工具必不可少。