我正在使用Jenkins multibranch管道。 我在Pipeline语法生成器的帮助下创建了一个Jenkins文件。 我的Jenkinsfile正如预期的那样完美运行。
但现在我想集中管理这个Jenkinsfile,所以我不必将它复制到我的所有(git)回购。 我看到有一些选项可以使用通用的groovy脚本并将方法作为模块加载。 但这意味着我必须用不同的语法重写我的Jenkins文件?
我尝试了几种选择,但还没有成功。 例如,我已将jenkinsfile添加到其自己的git repo中,并且已将该repo添加为(代码)repo的子模块。 然后我尝试在Jenkins中配置如下图所示
这是前进的方向吗,有没有(简单的)方法来实现我想要完成的工作?
答案 0 :(得分:1)
Jenkins共享库插件可以帮到你。查看docs
答案 1 :(得分:1)
你说得对,但另一个stackoverflow awnser帮助我解决了我的问题。奇怪的是,我再也找不到了:(。
简而言之:
我将整个管道减速定义为全局变量(在名为var \ soaPipeline.groovy的文件中)
def createSOAStandardDeclarativePipeline() {
node {
stage('checko.....
将Jenkinsfile添加到代码仓库中。该文件包含以下行:
soaPipeline.createSOAStandardDeclarativePipeline()
然后在jenkins中配置: jenkins configuration