【问题标题】:Jenkins - Build Steps詹金斯 - 构建步骤
【发布时间】:2017-04-24 17:14:58
【问题描述】:

我目前正在编写一个 Jenkins 作业来连接到不同的 sql 服务器,以检查所有应用程序服务器是否都已启动并运行。

我想要达到的目标:

  1. 连接到 QA SQL Server,运行查询以验证服务器状态。
    解析 Jenkins 日志,如果有任何服务器出现故障,请发送邮件至 destination1@abc.com,并附上服务器名称和服务器 ID。

  2. 连接到并行 SQL Server,运行查询以验证服务器状态。
    解析 Jenkins 日志,如果有任何服务器出现故障,请发送邮件至 destination2@abc.com,并附上服务器名称和服务器 ID。

我面临的挑战:

我使用了 2 个构建步骤(Windows 批处理命令),即一个用于并行,一个用于 QA。但是,如果第一个失败,Jenkins 不会执行第二个。

有人可以建议如何实现吗?

【问题讨论】:

  • 为什么不把它们分成两个独立的工作呢?
  • 你好,不想为这个小任务创建多个作业,我们已经为不同目的配置了多个作业。

标签: jenkins


【解决方案1】:

经典的解决方案是将第二个构建步骤编写为构建后步骤,使用 JENKINS Post build task

即使第一个构建步骤失败,也会执行该构建后步骤。

但更现代和合乎逻辑的解决方案是在自己的工作中执行它们,使用JENKINS Multijob Plugin,甚至Jenkins pipelines, as shown in "Jobs in parallel"

【讨论】:

  • 我如何实现邮件部分,即不同构建步骤的不同邮件?构建后任务对所有构建步骤都是通用的。
  • @shiva 这就是为什么我建议有两个独立的工作:每个工作都可以有自己的关联邮件列表。由于您不想要单独的工作,请尝试查看stackoverflow.com/a/24083316/6309
  • 谢谢@Vonc。我决定在两个较低的环境中使用相同的邮件。
  • 我还有更多问题。如何突出显示控制台日志输出的一行。示例:下面的服务器在 UAT 中关闭 -->(我想加粗并增加该行的字体) Server1 Server2 Server3
  • @shiva 不确定:这本身就是一个很好的新问题。
猜你喜欢
  • 1970-01-01
  • 2018-02-13
  • 2018-01-23
  • 1970-01-01
  • 2013-02-14
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
相关资源
最近更新 更多