2

我们有多个分支管道项目来构建每个提交。由于每个错误和功能都在一个单独的分支中完成 - 我在 Jenkins 项目(多分支管道)中的分支列表自动增长得非常快。

我想保持分支 # 低于 15 以在 Jenkins 中显示。问题是我们在合并到主分支(主分支)后不删除功能分支 - 因此詹金斯仍在索引它们。

我的调查导致:

1)我可以手动从每个分支中删除 Jenkinsfile,这是一个糟糕的解决方案。

2)我尝试在声明性管道中使用“孤立项目策略”,但它只会删除某个分支上的“构建”,而不是从 Jenkins 视图中删除分支本身。

我是 Jenkins 和声明式管道的新手——也许有一个好的方法来解决?

4

1 回答 1

0

要回答您关于如何在不从 SVN 中删除的情况下删除分支的问题,AFAIK 这是不可能的,也不是理想的做法。您需要做的就是清理 SVN 中的分支。因为the reason for using multibranch-pipeline is to have pipeline for every individual branch.

正如您所说,问题不在于清理 SVN 中的分支并删除每个分支中的 Jenkinsfile 确实是一个糟糕的解决方案。为所有分支和 PR 自动构建会在 Jenkins 上产生负载,并进一步减慢构建和部署过程。

因此,作为一种解决方法,我们可以做的是通过限制分支在提交发生时自动构建来减少 Jenkins 的负载,就像这样。

在此处输入图像描述

This will auto build only for master, develop branches and all the PRs这是强制性的。除了这些之外,任何其他功能分支或用户故事分支都需要使用“立即构建”手动构建,作为多分支管道的一部分自动创建作业。

您甚至可以通过相应的配置来排除/包含分支。但这需要定期监控,以便在需要时排除和包含它们。

在此处输入图像描述

希望这在一定程度上有所帮助。谢谢!

于 2018-04-30T06:09:42.967 回答