在Jenkins中使用分支

时间:2016-01-05 09:17:19

标签: jenkins

我们使用Perforce服务器作为SCM工具,我们使用scipts(构建步骤 - >执行脚本)进行所有SCM配置(签入,签出,同步等)。我们不打算使用任何perforce插件。

现在我们有四分之一的版本,所以每四个月左右,jenkins上运行的工作需要切换到不同的分支。作业配置在不同分支之间保持大致相同,只有URL更改(并且可以使用像$ branch这样的简单变量来完成)。我们使用参数化构建,其中我们定义了用于选择分支的选择参数。 这很好,但我们需要一些精细的改进。

以下是问题: -

  • 作业的构建历史被在不同分支上运行的构建阻塞。虽然我们有一个post build groovy脚本,它附加了分支编号来构建一些工作但我们希望有一个构建历史记录面板显示分支机构的工作。 有点像这样: -

branch_name

  • #jobNo。
  • 默认情况下,选择参数化构建将最顶层参数作为默认值,并在定期构建中使用它,因此我们最终只在一个分支上完成构建。

我们还考虑了以下方法: -

每次分支生成时为每个分支动态创建新的作业集。但这会导致大量的工作(#branches * jobs_per_branch),并且只要分支上的作业之间的配置变化最小(即只有分支uri发生变化),这似乎并不富有成效,尽管它提供了一个很好的结构化视图为了工作。所以我们去了参数化构建,但突然出现了上述两个问题。

1 个答案:

答案 0 :(得分:0)

由于您已经提到的原因,使用单个参数化作业来构建多个分支几乎总是会变得混乱。我建议使用Job DSL plugin为您构建的每个分支生成单独的作业。如果作业与分支名称相同,则DSL代码将非常简单,如果您需要更改常用配置设置,则可以轻松更新所有作业。