【发布时间】:2022-08-17 01:56:41
【问题描述】:
我们在 Azure DevOps 管道中有一些步骤需要重构,本质上是大量复制/粘贴调用 bash 脚本的代码。我们想将复制/粘贴代码移动到 bash 脚本中(很容易做到),但该步骤在许多管道中重复了很多次。因此,我们所做的任何清理工作都必须重复进行,以使每个实例都有效。
有没有办法搜索不基于 YAML 并存储在存储库中的管道?搜索定义或输出将使我们能够获得所有要更改的内容的清单。
标签: azure-devops
我们在 Azure DevOps 管道中有一些步骤需要重构,本质上是大量复制/粘贴调用 bash 脚本的代码。我们想将复制/粘贴代码移动到 bash 脚本中(很容易做到),但该步骤在许多管道中重复了很多次。因此,我们所做的任何清理工作都必须重复进行,以使每个实例都有效。
有没有办法搜索不基于 YAML 并存储在存储库中的管道?搜索定义或输出将使我们能够获得所有要更改的内容的清单。
标签: azure-devops
Azure DevOps 不支持直接搜索管道。目前您可以搜索如下所示的类型:
您可能会读到,您可以搜索 Azure Repos、Pipelines、Test Plans 或项目的 Artifacts 页面:自动显示功能筛选器代码搜索.
此搜索只会在项目中搜索具有特定名称的文件/代码。首先你应该启用新设置搜索h 从预览功能.
鉴于我在我的测试项目(Azure devops 项目)上创建了一个名为 cron 的管道,我可以在该项目中搜索 cron,但此搜索将仅输出包含 cron 关键字的文件,而不是实际的管道。
在项目中搜索 cron
搜索结果
更多信息,您可以参考Search FAQs。
【讨论】:
您可以使用搜索设置工具 ExportPipelineDefinitions 搜索您的 ADO 管道并清点需要更改的内容。
该工具将您的所有 ADO 管道(包括 YAML 和非 YAML)导出到您的本地驱动器。它们分别保存为 .yml 文件和 .json 文件。在单个操作中,它会查找并导出您有权访问的所有 ADO 项目中的所有管道。
这使得您可以使用 Visual Studio、VS Code 或其他文本搜索工具中的“在文件中查找”一次搜索所有管道。
【讨论】: