如何同步子项目内部版本号
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 帮助。
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 帮助。