24

有没有办法告诉 Jenkins (2.2) 删除已删除分支的作业?目前我的构建监视器充满了分支,因为作业没有被删除。是否有触发此行为的设置,或者是否应将其作为错误提交?

4

2 回答 2

20

由于您使用的是最新的 Jenkins 版本,请考虑将您的作业切换到多分支管道设置

Workflow Multibranch 功能(由工作流插件提供)提供以下关键功能:

  • 在 Jenkins 中为 repo 中的每个新分支自动创建工作流(作业)(假设 webhook 从 GH 注册到 Jenkins)。

  • 构建特定于该子分支及其独特的 scm 更改和构建历史。

  • 根据设置自动对从存储库中删除的分支进行作业修剪/删除。

  • 如果需要,可以通过覆盖父属性来灵活地单独配置分支属性。

编辑:检查管道的“丢弃旧项目”设置。如果您有非零的“最大旧项目数”,那么如果您的分支的构建数量少于这个数字,它将永远不会被删除!您甚至可以在日志中看到:

Will not remove US12345 as it is only #1 in the list
Will not remove US23456 as it is only #2 in the list
Will not remove US34567 as it is only #3 in the list

编辑:您还可以通过添加名为“修剪陈旧的远程跟踪分支”(“行为”->“添加”-> 从下拉列表中选择)的附加行为来试试运气。

于 2016-05-13T15:45:32.320 回答
6

1) 去Manage Jenkins -> Global Tool Configuration -> Git -> Add Git -> Choose JGit

2)然后转到您的多分支管道配置并在下面JGit选择DefaultBranch Sources -> Git Executable

3) 按Branch Indexing -> Run now

旧树枝现在应该消失了

于 2017-03-23T13:20:36.267 回答