使用 job-dsl 我可以使用自定义 bash 代码执行 Shell 脚本,并让处理结果影响 Jenkins 作业的状态(失败、成功等):
steps {
shell('./smoketest.sh')
}
如果我想使用自定义 Groovy 来做一个冒烟测试而不是依赖一个 shell 脚本怎么办?我尝试编写一个简单的 Groovy 函数来返回 0 或 -1 来表示成功和失败,但它不起作用。如何一步执行任意 Groovy 代码?
使用 job-dsl 我可以使用自定义 bash 代码执行 Shell 脚本,并让处理结果影响 Jenkins 作业的状态(失败、成功等):
steps {
shell('./smoketest.sh')
}
如果我想使用自定义 Groovy 来做一个冒烟测试而不是依赖一个 shell 脚本怎么办?我尝试编写一个简单的 Groovy 函数来返回 0 或 -1 来表示成功和失败,但它不起作用。如何一步执行任意 Groovy 代码?
使用groovyCommand
或groovyScriptFile
步骤来执行任何 Groovy 代码作为构建步骤。这些步骤由Groovy 插件提供。有关详细信息,请参阅插件文档。
有关 DSL 语法的详细信息,请参阅 Job DSL API 查看器:
例子:
job('example') {
steps {
groovyCommand('println "Hello"') {
groovyInstallation('groovy-2.4.2')
}
}
}
请注意,Groovy 脚本将在构建代理上运行。所以它需要一个 Java 和一个 Groovy 安装。
如果你想在 Jenkins master 上运行脚本(不推荐,这是一个瓶颈),使用systemGroovyCommand
orsystemGroovyScriptFile
步骤。
@NonCPS
def myFunction(x) {
if(x)return true
return false
}
node{
if(myFunction('')){
echo 'OK'
}else{
error 'error message'
}
}