2

使用 job-dsl 我可以使用自定义 bash 代码执行 Shell 脚本,并让处理结果影响 Jenkins 作业的状态(失败、成功等):

 steps {
    shell('./smoketest.sh')
 }

如果我想使用自定义 Groovy 来做一个冒烟测试而不是依赖一个 shell 脚本怎么办?我尝试编写一个简单的 Groovy 函数来返回 0 或 -1 来表示成功和失败,但它不起作用。如何一步执行任意 Groovy 代码?

4

2 回答 2

1

使用groovyCommandgroovyScriptFile步骤来执行任何 Groovy 代码作为构建步骤。这些步骤由Groovy 插件提供。有关详细信息,请参阅插件文档。

有关 DSL 语法的详细信息,请参阅 Job DSL API 查看器:

例子:

job('example') {
  steps {
    groovyCommand('println "Hello"') {
      groovyInstallation('groovy-2.4.2')
    }
  }
}

请注意,Groovy 脚本将在构建代理上运行。所以它需要一个 Java 和一个 Groovy 安装。

如果你想在 Jenkins master 上运行脚本(不推荐,这是一个瓶颈),使用systemGroovyCommandorsystemGroovyScriptFile步骤。

于 2018-03-13T12:58:05.073 回答
-1
@NonCPS
def myFunction(x) {
    if(x)return true
    return false
}

node{
    if(myFunction('')){
        echo 'OK'
    }else{
        error 'error message'
    }
}
于 2018-03-13T10:28:54.977 回答