如何将Jenkins构建历史记录从一台服务器复制到另一台服务器?

时间:2018-10-01 11:50:19

标签: jenkins migration jenkins-plugins

我们正在将服务器移至另一个系统。我们已经设置了Jenkins,并使用Job Import插件导入了所有作业。

接下来,我想为每个作业导入数据。这就是我在说的:

Build history of every individual job

请注意,作业分布在多个文件夹和子文件夹中。如何将每个作业的构建历史记录复制/移动到新服务器?

2 个答案:

答案 0 :(得分:1)

几分钟前,我刚刚完成了同样的迁移。您只需将文件夹放在旧服务器到新服务器的构建路径中即可。

构建历史记录位于构建目录中,如果您不知道它在哪里,请检查Jenkins文件夹(又名$JENKINS_HOME\config.xml)和ctrl+F“ buildsDir”中的config.xml。 / p>

Jenkins中的默认构建路径为${ITEM_ROOTDIR}/builds,位于$JENKINS_HOME下的jobs文件夹内。 我个人建议您将历史记录和Jenkins主页放在不同的驱动器中,以便更好地进行内存管理。

因此,只需将作业和历史记录复制到新的构建服务器,将旧的作业放在$JENKINS_HOME\jobs下,并将旧的构建文件夹放在新的构建目录(buildsDir)中。

请注意,有些文件无法复制,因为历史记录中有一些指针,例如Last Success build,lastFailedBuild。只需跳过这些文件

希望有帮助

答案 1 :(得分:1)

If your old Jenkins server is still up and running you can ssh to it and use rsync to copy over the builds directory for each job to the new server. Replace $JENKINS_HOME and $NEW_SERVER below with your actual values.

for i in $JENKINS_HOME/jobs/*; do
  rsync -az -e ssh ${i}/builds/* $NEW_SERVER:${i}/builds/
done