jenkins - 强制所有 Jenkins 管道调用函数?
问题描述
我在一家定义了数百个 Jenkins 管道的公司工作。
我们有一组扫描,我们希望每个管道都运行(SonarQube、Checkmarx、Blackduck 等)。有没有办法可以编写一个在每个管道结束时自动调用的函数?我不想进入我们数百个 Jenkinsfiles 中的每一个文件并post
为每个文件添加一个块......我正在寻找更像是一个在每项工作结束时自动触发的钩子的东西,无需更改所有作业的配置。
我浏览了 Jenkins 文档并查看了已经存在的插件列表,但没有看到任何看起来很有希望的插件。
到目前为止,我想出的唯一可能性是拥有一个每晚运行的管道,在我们的 git 中的每个 repo 上找到每个 Jenkinsfile,并使用Jenkins Pipeline Unit运行测试以验证是否调用了所有预期的函数并发送电子邮件维护者是否遗漏了任何内容。对于我认为相当普遍的需求,这听起来像是付出了很多努力?
解决方案
我不是 100% 确定,但 Freestyle Jenkins 作业可以设置为触发“在其他项目构建后构建”。它甚至说“例如,这对于在构建完成后运行广泛的测试很方便。”
我在一个 Maven 项目和一个 Pipeline 项目上检查了这个,它可以工作。它似乎不适用于多分支管道项目(它无法识别它们)。
这有点落后,但您可以在此触发行中列出所有项目。
推荐阅读
- regex - 现在需要正则表达式(日期)格式
- r - 使用 facet_wrap 时数据在 x 轴上移动
- spring-boot - 有没有办法知道java应用程序的加载时间?
- excel - 如何从 Excel 中创建的联系人列表重新创建家庭邮寄列表?
- postgresql - 使用嵌套对象(结构)在 Go API 中插入数据
- javascript - 如何在 Typescript + Node.js 中使用 p5.sound
- react-native - npm 5 及以上版本是否与 react native 兼容?
- javascript - 已解决:我的 setState 函数在 IOS 上不起作用
- curl - 如何通过 curl 获得部分响应?
- c# - Angular Web Api 2 不适用于 POST:405 Method Not Allowed