詹金斯:有条件地加载库

时间:2018-09-17 22:19:44

标签: git jenkins shared-libraries

我正在使用Jenkins,并将共享库用于多个存储库。 有时,我在库中启动一个与存储库中的开发分支相关联的开发分支。

我正在努力实现以下目标:

  • 使用库在存储库的jenkins文件中
  • 如果共享库存储库中存在与当前分支同名的分支,请检出该版本的库
  • 否则,签出默认版本

看起来像这样:

def library

try{
    library = library("foolib@" + this.env.BRANCH_NAME)
    echo "Perfectly loaded library"
}
catch(err){
    echo "Error loading library"
    library = library("foolib") //Error occurs here
}

但是,这失败了:

  

java.lang.NullPointerException:无法在空对象上调用方法call()

实际上,我已经在库的jenkins文件中做了这样的事情:

def lib = library(“ foolib @ $ {env.BRANCH_NAME}”)

它运行正常。我只需要在条件语句中使用它(因此,尝试捕获,因为我没有简单的方法知道分支是否存在)

我能解决这个问题吗?

0 个答案:

没有答案