我们有一个在 Jenkins 服务器实例 A 上运行的 Jenkins 作业。该作业的当前内部版本号是 58。
我们正在将此 Jenkins 作业迁移到新的 Jenkins 服务器 - B。但是,需要在这个新的 Jenkins 实例 B 中保留先前服务器的内部版本号 - 58。
这可能吗?如果是,如何?
谢谢
我们有一个在 Jenkins 服务器实例 A 上运行的 Jenkins 作业。该作业的当前内部版本号是 58。
我们正在将此 Jenkins 作业迁移到新的 Jenkins 服务器 - B。但是,需要在这个新的 Jenkins 实例 B 中保留先前服务器的内部版本号 - 58。
这可能吗?如果是,如何?
谢谢
如果您only
打算build number
在新的 Jenkins 服务器中保持完整的作业,您可以简单地通过编写一个脚本来实现它,该脚本将使用您希望拥有的适当的#buildnumber填充nextBuildNumber
文件。$JENKINS_HOME/jobs/<job_name>/
像这样的东西(script.sh):-
#!bin/bash -x
JENKINS_HOME=/var/lib/jenkins
mkdir -p $JENKINS_HOME/jobs/<new_job> && cp $JENKINS_HOME/jobs/<old_job>/* $JENKINS_HOME/jobs/<new_job>/
OLD_BUILD_NO=`cat $JENKINS_HOME/jobs/seed/nextBuildNumber`
NEW_BUILD_NO=`expr $OLD_BUILD_NO - 1`
echo $NEW_BUILD_NO > $JENKINS_HOME/jobs/<new_job>/nextBuildNumber
chown -R jenkins:jenkins $JENKINS_HOME/jobs/temp/
现在运行这个脚本: -
sudo bash script.sh
尽管它在同一个 jenkins 服务器实例中创建了所需的作业,但基本思想是相同的 .. 填充 nextBuildNumber 文件。
遗憾的是,修改 nextBuildNumber 文件的公认答案对我不起作用,但jayan在另一个 Stackoverflow 问题中找到了这个答案:
https://stackoverflow.com/a/34951963
尝试在 Jenkins 脚本控制台中运行以下脚本。将“workFlow”更改为您的
Jobname def job = Jenkins.instance.getItem("workFlow") job.nextBuildNumber = 10 job.saveNextBuildNumber()