如何同步子项目内部版本号

How to synchronize subproject build number

Jenkins JobA 将 JobB 作为子项目触发。

有什么方法可以强制 JobB 具有与 JobA 相同的内部版本号?

我目前正在将一个环境变量传递给 JobB,以便 JobB 可以在其构建过程中使用正确的数字。但是 JobA 和 JobB 的内部版本号不同,这仍然令人困惑。

我也在使用 "Next Build Number Plugin",但随着时间的推移,JobA 和 JobB 的内部版本号不断变化,因为 JobA 在调用 JobB 之前失败,迫使我返回并手动修复它。

您应该考虑 Build Name Setter Plugin,因为它允许通过变量设置 BUILD_NUMBER。将其配置为使用 $parentBuildNumber

之类的东西

现在,在 JobB 中配置一个 text/string 参数,parentBuildNumber
当您从 JobA 触发 JobB 时,您应该使用 Parameterized Trigger Plugin.

配置预定义参数集为parentBuildNumber=$BUILD_NUMBER

在父作业中获取下一个内部版本号,如果需要则减去 1 并将其传递给子作业:

cat $JENKINS_HOME/jobs/$JOB_NAME/nextBuildNumber

并输出到

$JENKINS_HOME/jobs/$CHILD_JOB_NAME/nextBuildNumber

您可能需要也可能不需要安装 NextBuildNumber 插件:

此外,还有一个 CLI 命令 set-next-build-number。尝试执行 jenkins CLI 帮助。