【问题标题】:trigger other configuration and send current build status with Jenkins使用 Jenkins 触发其他配置并发送当前构建状态
【发布时间】:2012-06-28 08:18:54
【问题描述】:

在某个 Jenkins 配置中,我希望触发另一个配置作为 post 构建操作。 我想将当前构建状态作为参数之一传递。

IE:表示状态(SUCCESS/FAIL/UNSTABLE)的字符串/int。

我有 2 个选项来创建构建后触发器:

使用加入插件

在构建后操作中使用触发器参数化构建

我希望在运行结束时有某种可访问的环境变量...

有什么想法吗?

谢谢!

【问题讨论】:

标签: triggers automation jenkins


【解决方案1】:

这是一个可以回答大多数情况的简单解决方案:

使用'Trigger Parameterized Build'插件,并设置两个触发器-

  1. '稳定或不稳定但不会失败'
  2. '失败'

每个触发器都应该运行相同的作业 - 我们称之为“JOB_B”。

对于每个触发器,传递你喜欢的任何参数,并传递一个用户定义的值:

  • 对于触发器“1”使用:JOB_A_STATUS=SUCCESS
  • 对于触发器“2”使用:JOB_A_STATUS=FAIL

现在,您需要做的就是测试 JOB_B 中的 ${JOB_A_STATUS} 的值,看看它是设置为 'SUCCESS' 还是 'FAIL' .

注意这个方案不区分'stable'和'unstable',只知道'fail'和'success'的区别。

祝你好运!

【讨论】:

    【解决方案2】:

    您可以通过Groovy Post-Build plugin 在后期构建步骤中使用 Groovy 脚本检查状态,该脚本可以通过Jenkins Java API 访问 Jenkins 内部。该插件为脚本提供了变量 manager,可用于访问 API 的重要部分(请参阅插件文档中的 Usage 部分)。

    例如,您可以这样将构建结果输出到构建控制台:

    def result = manager.build.result
    manager.listener.logger.println "And the result is: ${result}"
    

    现在,您可以改为使用该值来创建一个属性文件并将该文件传递给 Parameterized Trigger post-build 步骤(它有这样一个选项)。

    一个警告:我不确定是否可以安排构建后步骤以特定顺序执行,以确保 Groovy 构建后步骤在参数化触发器步骤之前运行。

    【讨论】:

      猜你喜欢
      • 2013-10-12
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 2015-04-03
      相关资源
      最近更新 更多