2017-09-26 58 views
0

我正在使用Jenkins multibranch管道。 我借助Pipeline语法生成器创建了一个Jenkins文件。 我的Jenkinsfile正在按预期完美工作。集中管理Jenkinsfile

但是现在我想集中管理这个Jenkinsfile,所以我不必将它复制到所有我的(git)回购站。 我看到有一些选项可以使用通用的groovy脚本,并将方法作为模块加载。 但是这意味着我必须用不同的语法重新编写我的Jenkins文件?

我试过几个选项,但都没有成功。 例如,我已将jenkins文件添加到其自己的git repo中,并且已将该repo添加为(代码)回购的子模块。 然后我试图在詹金斯配置像在下面的图片

这是前进的方向,有没有任何(简单)的方法来实现我想要完成的?

Jenkins configuration example

回答

0

詹金斯共享库插件可以帮助你。退房docs

+0

我已经看过这个选项。但是编写共享库不能在Jenkins管道语法中完成?这意味着我必须学习并重新编写迄今为止创建的内容。我的团队也需要学习如何做到这一点。我想有一个选择,我可以使用管道语法,我不认为我可以使用共享库。 –

+0

您可以将Jenkins管道语法与共享库一起使用 – herm

0

你是对的,但其他stackoverflow awnser帮助我解决了我的问题。奇怪的是我再也找不到它:(

总之:

我定义我的整个管道减速的全局变量(在文件中被称为无功\ soaPipeline.groovy)

def createSOAStandardDeclarativePipeline() { 
     node { 
      stage('checko..... 

添加。Jenkinsfile到代码回购该文件包含以下行:

soaPipeline.createSOAStandardDeclarativePipeline() 

然后配置在詹金斯: jenkins configuration