当前位置: 首页 > 知识库问答 >
问题:

从groovy脚本构建Jenkins失败

柴嘉石
2023-03-14

我有一个时髦的脚本,可以推广代码。长话短说,我知道在那个脚本中的某个时间点它是否成功。如果不成功,我想使构建失败。有没有办法在时髦中失败构建?

示例:

在“执行 Groovy 脚本”插件中。您可以编写代码。

(插入 API 调用以提升代码) if(checkPromote()){ //fail build here }

其中“checkPromote”根据升级的状态返回true或false值。

共有3个答案

江航
2023-03-14

从这个页面,https://wiki.jenkins-ci.org/display/JENKINS/Groovy插件

import hudson.AbortException
//other code
throw new AbortException("Error message .")
顾穆冉
2023-03-14

声明性管道 dsl 有一个错误步骤:

error('Failing build because...')

请参阅 https://jenkins.io/doc/pipeline/steps/workflow-basic-steps 并在页面上搜索“错误信号”。

这也可以做到:

sh "exit 1"
孟智志
2023-03-14

在我看来,中止程序最优雅的方法是断言。

断言条件:“构建失败,因为…”

 类似资料:
  • 问题内容: 我有一个时髦的脚本去推广代码。长话短说,我知道该脚本中的某个时间点是否成功。如果不成功,我想使构建失败。有什么办法使构建失败? 例: 在“执行Groovy脚本”插件中。您可以编写代码。 其中,“ checkPromote”根据促销的状态返回true或false值。 问题答案: 我认为,中止程序的最优雅方法是声明。

  • 问题内容: 我正在使用groovy脚本获取当前正在运行的jenkins作业的构建状态,作为构建后的动作,如下所示: 现在,我想将“ result”变量的值发送到文件中的特定位置 既然我是groovy的新手,我对此并不了解,有没有办法像在shell脚本中那样做到这一点: 问题答案: 如果只想在文件中写一行,则可以使用下一个调用:

  • 问题内容: 我是Jenkins中使用的Groovy脚本的新手。我的问题是,我们如何根据作业名称和内部版本号获取作业的时间戳? 示例 :我想获取“ MyDeployJob”(JobName)的时间戳,并获取BuildNumber-105的时间戳。 我尝试使用方法方法,但无法正常工作。另外,我发现环境变量具有时间戳,但是我无法弄清楚如何使用Groovy Script获取细节。请帮助。 提前致谢。 问题

  • 我们有一个Jenkins构建,它在Jenkins1.596.2上成功运行,我们正在迁移到运行Jenkins2.60.1的新构建机器 作为构建配置的一部分,我们有一个可扩展的Choice参数,并使用系统Groovy Choice参数作为选择提供者。然后,我们使用Groovy脚本获取选择列表。 此Groovy脚本需要访问Jenkins构建环境变量之一,该变量设置在构建配置的全局属性部分(在环境变量下)

  • 问题内容: 我正在使用Scriptler插件,因此可以在构建步骤中运行groovy脚本。我的Jenkins奴隶正在服务模式下的Windows上运行。使用脚本编辑器,我不需要使用Windows批处理脚本。 但是我很难在构建步骤中获取环境变量。 哪里是将env-瓦尔对詹金斯启动部分。但是,我想得到 如果要添加“执行Windows批处理命令”构建步骤: 有用。如果要添加具有相同设置的脚本程序脚本作为构建

  • 我使用脚本插件,所以我可以运行一个Groovy脚本作为构建步骤。我的Jenkins奴隶在服务模式下的窗口上运行。有了脚本,我不需要使用窗口批处理脚本。 但是我很难在构建步骤中获取环境变量…这是有效的: 其中 是 enkins 初创公司 env-vars 的一部分。但是,我想得到 如果我添加“执行 Windows 批处理命令”构建步骤: 它起作用了。如果我添加一个脚本脚本作为具有相同设置的构建步骤: