def test1(){
//add code for this method
}
def test2(){
//add code for this method
}
return this
“第二棒极了”
import groovy.transform.Field
@Field private First = null
def init(first) {
First = first
}
def test1(){
//add code for this method
}
def test2(){
First.test2()
}
return this
node {
// Git checkout before load source the file
checkout scm
// To know files are checked out or not
sh '''
ls -lhrt
'''
def rootDir = pwd()
println("Current Directory: " + rootDir)
// point to exact source file
def example = load "${rootDir}/Example.Groovy"
example.exampleMethod()
example.otherExampleMethod()
}
6条答案
按热度按时间wnvonmuf1#
如果您的
Jenkinsfile
和groovy文件在一个存储库中,并且Jenkinsfile
是从SCM加载的,您必须执行以下操作:示例.Groovy
Jenkins档案
qxgroojn2#
如果您有一个加载多个groovy文件的管道,并且这些groovy文件也在它们之间共享:
Jenkins文件.groovy
“第一次,太棒了”
“第二棒极了”
qnzebej03#
在执行
load
之前,您必须执行checkout scm
(或从SCM中检查代码的其他方法)。mwyxok5s4#
感谢@anton和@Krzysztof Krasori,如果我结合
checkout scm
和确切的源文件,它工作得很好示例.Groovy
Jenkins档案
ct3nt3jp5#
非常有用的线程,有同样的问题,解决了以下你.
我的问题是:- 〉呼叫一个-〉呼叫
这里我的解决方案:
Jenkins档案
“第一次,太棒了”
注意:参数是可选的,如果有,请添加它们,或保留为空。
希望这能对你有进一步的帮助。
5w9g7ksd6#
如果在加载的groovy脚本中调用的方法带有自己的节点块,则不应该在加载脚本的节点块中调用这些方法,否则就会毫无理由地阻塞外部节点。
因此,根据“Shishkin”的回答,这可能看起来像
示例.Groovy
Jenkins档案
使用
readTrusted
的Jenkins文件当运行最近的Jenkins时,您将能够使用
readTrusted
从包含Jenkins文件的scm中读取文件,而无需运行checkout -或node块: