Jenkins:强制所有项目使用相同的jenkinsfile

时间:2017-09-22 16:40:11

标签: jenkins jenkins-pipeline

是否可以将Jenkins配置为始终使用预定义的Jenkinsfile为所有项目运行,而不是从项目仓库中提取Jenkins文件?这里的目标是确保始终运行某组阶段。如果我们允许项目定义他们自己的Jenkins文件,理论上他们可以跳过他们项目中的一些必需阶段(比如单元测试)。

我想确保这种情况永远不会发生,但只是告诉所有人“不要从Jenkins文件中删除这些阶段”似乎有点脆弱。

1 个答案:

答案 0 :(得分:0)

使用共享库并定义其中的所有阶段和步骤。然后SCM中每个应用程序的Jenkinsfile只需要指向共享库并运行一个方法。在调用共享库之前,您还可以在Jenkinsfile中预定义特定于每个应用程序的变量。

这不会强制应用程序使用你的代码 - 他们可以简单地重写整个Jenkins文件,但至少他们无法控制你编写的代码,他们不能简单地注释掉或轻松添加阶段。