我试图弄清楚Grooy语法的阶段。那是什么语法:
stage 'stage 1'
statement 1
statement 2
statement n
stage 'stage 2'
statement 1
statement 2
statement n
还是我认为这是创建舞台的较新方法?
stage ('stage'){
statement 1
statement 2
statement n
}
第一个代码块几乎看起来像labeled statements,但在名称后缺少冒号。
如果我想在Groovy中做这样的事情,我该怎么做?
我是詹金斯和Groovy菜鸟。
[试图澄清我的问题]
我想知道在Groovy代码方面什么是阶段构造。
例如,如果我问这个Groovy代码块是什么
def somefnc(){
..statements
}
有人会说:“这就是您在Groovy中定义函数的方法,您使用关键字def
为函数命名...”
我的问题是什么
stage ('stage'){
statement 1
statement 2
statement n
}
这是Groovy语言的一部分吗?这叫什么?我的理解是,Jenkins文件是Groovy代码。那么,是否有一些Jenkins预处理程序正在运行?还是上述有效的Groovy可以在我的普通Groovy中使用呢?我的意思不是“ stage
”,我可以定义什么并拥有一个
steve('some arguments'){
statments...
}
答案 0 :(得分:1)
如果函数的最后一个参数是 Closure
类型,你可以在参数后添加闭包
所以:
def stage(String name, Closure body) {
println "stage(${name})"
body.call()
}
可以这样调用:
stage("stage 1"){
println "inside stage 1"
}
答案 1 :(得分:0)
第二个示例是几乎正确的语法,但缺少steps{}-block
。官方Jenkins documentation对于语法和其他问题有很大的帮助。
因此,对于您的示例,如果要在声明性管道中使用阶段,则这将是100%正确的语法(我认为这是您所说的“较新的方式”,“旧方式”将是脚本化的管道) )。
stage ('stage'){
steps {
statement 1
statement 2
statement n
}
}