我们使用Perforce服务器作为SCM工具,我们使用scipts(构建步骤 - >执行脚本)进行所有SCM配置(签入,签出,同步等)。我们不打算使用任何perforce插件。
现在我们有四分之一的版本,所以每四个月左右,jenkins上运行的工作需要切换到不同的分支。作业配置在不同分支之间保持大致相同,只有URL更改(并且可以使用像$ branch这样的简单变量来完成)。我们使用参数化构建,其中我们定义了用于选择分支的选择参数。 这很好,但我们需要一些精细的改进。
以下是问题: -
我们还考虑了以下方法: -
每次分支生成时为每个分支动态创建新的作业集。但这会导致大量的工作(#branches * jobs_per_branch),并且只要分支上的作业之间的配置变化最小(即只有分支uri发生变化),这似乎并不富有成效,尽管它提供了一个很好的结构化视图为了工作。所以我们去了参数化构建,但突然出现了上述两个问题。
答案 0 :(得分:0)
由于您已经提到的原因,使用单个参数化作业来构建多个分支几乎总是会变得混乱。我建议使用Job DSL plugin为您构建的每个分支生成单独的作业。如果作业与分支名称相同,则DSL代码将非常简单,如果您需要更改常用配置设置,则可以轻松更新所有作业。