是否可以将Jenkins配置为始终使用预定义的Jenkinsfile为所有项目运行,而不是从项目仓库中提取Jenkins文件?这里的目标是确保始终运行某组阶段。如果我们允许项目定义他们自己的Jenkins文件,理论上他们可以跳过他们项目中的一些必需阶段(比如单元测试)。
我想确保这种情况永远不会发生,但只是告诉所有人“不要从Jenkins文件中删除这些阶段”似乎有点脆弱。
答案 0 :(得分:0)
使用共享库并定义其中的所有阶段和步骤。然后SCM中每个应用程序的Jenkinsfile只需要指向共享库并运行一个方法。在调用共享库之前,您还可以在Jenkinsfile中预定义特定于每个应用程序的变量。
这不会强制应用程序使用你的代码 - 他们可以简单地重写整个Jenkins文件,但至少他们无法控制你编写的代码,他们不能简单地注释掉或轻松添加阶段。