我将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.0
和v2.0
。如果我想使用v1.0
,我使用@Library
注释如下引用它如下。
从我的工作中,我通过调用groovy脚本访问了共享库,并在其上方使用了注释@Library('project-examples@v1.0')
,如下图所示:
我在工作时遇到错误。 以下是我看到的错误。
使用@Library('project-examples@master')
时出现同样的错误。我在某个地方出错了吗?如果不是这样的话我们应该如何使用版本控制呢?如何告诉Jenkins使用哪个版本?有人能给我一个如何在jenkins共享库中使用版本的清晰图片吗?
答案 0 :(得分:4)
现在我记得问题很可能是什么。 Groovy注释必须注释“某事”。如果你有一个import语句很方便,因为@Library
可以继续,即使它们没有真正的关系。如果你没有import语句,那么你必须做一些看起来很奇怪的事情。你必须注释“_”。
再次审核https://jenkins.io/doc/book/pipeline/shared-libraries/以获取此示例。