我最近在Jenkinsfile中遇到了以下几行
def obj = new Foo(this, params)
obj.someMethod()
这个关键字作为类构造函数的参数有什么用?
答案 0 :(得分:0)
此关键字用于将管道步骤传递给库类,构造函数或仅一个方法
假设我有以下管道
pipeline{
agent any
stages {
stage {
steps {
echo "Inside Steps block"
script {
echo "Hello World"
sh 'date'
def obj = new Bar(this)
obj.test()
}
}
}
}
}
这就是类文件的外观
class Bar implements Serializable {
def steps
Bar(steps) {
this.steps = steps
}
void test() {
this.steps.echo 'Hello World inside class Method'
this.steps.sh 'date'
}
}
所以基本上你可以在groovy类中使用你可以在管道内执行的任何步骤,方法是将 this 关键字传递给类构造函数
可以从official doc
找到更多信息