使用Jenkins Pipeline共享库中的版本

时间:2017-02-26 15:13:49

标签: jenkins groovy jenkins-pipeline

我将Jenkins管道存储为Jenkins共享库中的groovy脚本。我想为不同的工作使用不同的版本。我称为sample_jenkins.groovy的共享库脚本如下:

def call(body) {
  // evaluate the body block, and collect configuration into the object
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()

  // now build, based on the configuration provided
  node {
    stage ('First Stage'){
      echo "This is first stage"
    }
    stage('Second Stage'){
      echo "This is second stage"
    }
  }
}

我已将sharedLib仓库中的不同版本标记为v1.0v2.0。如果我想使用v1.0,我使用@Library注释如下引用它如下。

从我的工作中,我通过调用groovy脚本访问了共享库,并在其上方使用了注释@Library('project-examples@v1.0'),如下图所示:

pipeline script consuming version <code>v1.0</code> with <code>@Library</code>

我在工作时遇到错误。 以下是我看到的错误。

pipeline script error messages

使用@Library('project-examples@master')时出现同样的错误。我在某个地方出错了吗?如果不是这样的话我们应该如何使用版本控制呢?如何告诉Jenkins使用哪个版本?有人能给我一个如何在jenkins共享库中使用版本的清晰图片吗?

1 个答案:

答案 0 :(得分:4)

现在我记得问题很可能是什么。 Groovy注释必须注释“某事”。如果你有一个import语句很方便,因为@Library可以继续,即使它们没有真正的关系。如果你没有import语句,那么你必须做一些看起来很奇怪的事情。你必须注释“_”。

再次审核https://jenkins.io/doc/book/pipeline/shared-libraries/以获取此示例。