【问题标题】:Jenkins - conditions between build stepsJenkins - 构建步骤之间的条件
【发布时间】:2023-09-03 14:43:01
【问题描述】:

我想使用 Jenkins 构建一个 Maven 项目。但是,只有在 SVN 存储库中的某个文件发生更改(并且包含特殊密钥)时,才必须构建项目

所以我的计划是创建一个包含两个构建步骤的作业:

  • 第一步执行检查“条件”的 shell 或 python 脚本。

  • 第二步是实际的 Maven 构建

只有在第 1 步中的条件检查返回“真”时才必须调用第二步。

有可能这样做吗?好吧,我想如果条件不满足,我可以在第一个脚本中返回退出代码 1。这将立即停止构建,但该作业将被标记为“失败”。所以这不是一个好主意,因为红色图标让我的用户感到恐慌;-)

对此还有其他想法吗?

干杯, 弗兰克

【问题讨论】:

    标签: build hudson build-automation jenkins


    【解决方案1】:

    我们用自己的 Jenkins 设置做类似的事情。

    我们有一个定期监控 SVN 的“触发”作业。当 SVN 发生变化时,触发器作业会执行其构建步骤。其中一个构建步骤检查代码的某些方面并决定是否需要构建。如果有必要,它使用 CURL 来启动“构建”项目。 “构建”项目获取源代码并进行构建——它不会费心去确定是否需要构建——它总是这样做。

    将这两个任务分开还可以轻松触发手动构建,而无需担心我应该构建的逻辑会启动和停止构建。

    【讨论】: