迁移Jenkins作业时如何保留构建号?

时间:2016-01-19 01:13:25

标签: jenkins build build-numbers

我们在Jenkins服务器实例A上运行Jenkins作业。此作业的当前内部版本号为58.

我们正在将这个Jenkins作业迁移到一个新的Jenkins服务器--B。但是,需要在这个新的Jenkins实例B中保留来自先前服务器的内部版本号 - 58。

这可能吗?如果有,怎么样?

谢谢

2 个答案:

答案 0 :(得分:0)

如果你only打算在新的Jenkins服务器中保持build number完整无缺的工作,你可以通过编写一个脚本填充nextBuildNumber文件来实现它。 {1}}使用您希望拥有的相应#buildnumber。

像这样的东西(script.sh): -

$JENKINS_HOME/jobs/<job_name>/

现在将此脚本运行为: -

#!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/

虽然它在同一个jenkins服务器实例中创建了所需的作业,但基本思路是相同的..填充nextBuildNumber文件。

答案 1 :(得分:0)

可惜的是,修改nextBuildNumber文件的答案对我不起作用,但是在另一个Stackoverflow问题中,jayan找到了这个答案:

https://stackoverflow.com/a/34951963

尝试在Jenkins脚本控制台中的脚本下面运行。.将“ workFlow”更改为您的

Jobname

def job = Jenkins.instance.getItem("workFlow")
job.nextBuildNumber = 10
job.saveNextBuildNumber()