

























写 pipeline 就是写 Groovy 代码,Jenkins pipeline 其实就是基于Groovy语言实现的一种DSL。 了解一些Groovy语法知识是很有必要的
Groovy是一门同时具有静态和动态特定的脚本语言,或者胶水语言,也是面向对象的。非常适合编写简洁容易的自动化测试代码,例如我再次强调的pipeline的构建任务,就是一个典型的使用领域。
Groovy是apache下的一个产品,所以叫Apache Groovy,官网地址是http://groovy-lang.org/
Groovy是由 James Strachan 设计,第一个发布版本在2003年。
核心特点就是Java平台的多面语言,下面特点就是描述这个多面。
Flat learning curve
Powerful features
Smooth Java integration
Domain-Specific Languages
Vibrant and rich ecosystem
Scripting and testing glue
不想本地安装Groovy环境的话,可以打开 groovy-playground 运行线上groovy代码,查看结果 该网站可能需要会科学上网。
def name="jack"groovy
def say(String name = "world") {
return "hi " + name
}
// 调用
say name = "jack"groovy
def name = 'world'
// 结果: hello world
print "hello ${name}"
// 结果: hello ${name}
print 'hello ${name}'groovy
def foo = """ line one
line two
${name}
"""groovy
// 定义闭包
def codeBlack = {print "hello closure"}
// 闭包当做函数调用
codeBlack
// 闭包可以赋值给变量,或者作为参数传递
def pipeline(closure) {
closure()
}
pipeline(codeBlack)因为括号是非必需的,下面几种写法结果是一样的,是不是和Jenkins pipeline很像呢
groovy
pipeline( {print "hello closure"} )
pipeline {
print "hello closure"
}
pipeline codeBlackgroovy
def stage(String name, closure) {
println name
closure()
}
// 正在情况下,我们这样使用stage函数
stage("stage name", {
println "closure"
})
// 最终打印
/*
stage name
closure
*/
// 但是,在Groovy里,可以直接这么写
stage("stage name") {
print "closure"
}此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。