我已经深入挖掘但无法找到我想做的优雅解决方案,所以我希望你们中的一些人能够提供一些建议。我也在jenkins论坛上问了这个问题,但没有接受者。
我希望能够运行带有参数的jenkins父作业,这些参数将反馈到已触发的作业,然后会动态地在视图中对所有作业运行结果进行分组。
我想要介绍的用例是:我们有10多个不同的jenkins作业运行测试套件,我想简单地管理所有这些作业的运行以针对特定的代码分支运行,在特定的测试中环境,并仅查看该运行的结果(在一个视图中)。复杂性是相同的Jenkin作业可能会针对另一个版本或测试环境运行,我不希望看到这些结果。
我们已经有父作业触发带参数的子项,但我无法弄清楚如何最好地对结果进行分组。 我知道我可以为视图创建过滤器,但jenkins作业的名称是静态的,我希望在运行时创建视图,而不必自己构建它。我们使用'Set Build description'插件,因此我可以创建一个过滤唯一构建描述符或类似内容的视图。但似乎没有办法以编程方式使用过滤器创建视图。
其他考虑因素将是清理。我不希望多年的观点堵塞观点,所以我需要一种方法来清除旧的运行。
有什么想法让我失望吗?
答案 0 :(得分:0)
对于报告的灌输,您可以使用简单的逻辑而不是查找Jenkins插件。您可以将所有结果文件(最好是XML)放在一个公共文件夹/文件服务器中,并且在所有套件(作业)执行结束时,您可以触发一个公共作业,该作业将处理所有XML文件并生成一个公共报告。通过此,您可以拥有“合并+个人报告”。 我使用Perf Publisher插件完成了它,它处理XML并提供了一个漂亮的汇总报告。
Job1 ----> Report1 ---->移动报告文件夹的报告
Job2 ----> Report2 ---->移动报告文件夹的报告
Job3 ----> Report3 ---->移动报告文件夹的报告
Job n ---->报告n ---->移动报告文件夹的报告
完成作业n后,触发报告作业,该作业将对包含所有报告的“报告”文件夹进行操作!
希望它有所帮助!
答案 1 :(得分:0)
我有一个部分解决方案: 所有作业都接受名为VIEW_IDENTIFIER的参数。 启动父作业时设置了唯一的VIEW_IDENTIFIER,并且所有子作业在运行时都会传递给它们。 运行所有作业后,我编辑一个具有“作业过滤器 - >”的Jenkins视图。参数化作业过滤器 - > Name = VIEW_IDENTIFIER,Value =我为运行'
设置的唯一ID这会导致所有使用该唯一ID运行的作业在一个视图中进行分组以供审核。
遗憾的是我必须手动编辑作业过滤器。