ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jenkins Job迁移

2021-02-04 09:05:17  阅读:205  来源: 互联网

标签:jobs tar 主目录 Job gz job jenkins Jenkins 迁移


前几天由于某些原因,新搞了一个jenkins实例,需要和老的机器具备相同的能力。

也就是说需要将老的jenkins实例上的大概200多个job同步到新的jenkins实例上。

下面是整个迁移的过程,如果你有更好的迁移方案,欢迎你在评论区或者后台交流分享,共同提高​。

0. 方案确定

200多个job一方面是太多了,一个个重新建太费时,另一方面也担心建错。

所以就就想看下有没有整体迁移的方案可以来实施,网上查了一下大概有两种方式。

  1. 插件:job-import-plugin
  2. 同步jobs目录

这里采用的是第二种方案即同步jobs目录

# tree jenkins -L 1
jenkins
省略n多
|-- jobs
|-- logs
|-- nodes
|-- plugins
省略n多
`-- workspace

也就是同步老jenkins实例jenkins主目录下的jobs到新的jenkins实例的jenkins主目录下。

不知道的jenkins主目录的可以到
系统管理-》系统设置-》主目录里查看,或者通过浏览器访问http://ip:port/configure里查看。
在这里插入图片描述

在这里插入图片描述

基本上就是先压缩老jenkins实例jenkins主目录下的jobs目录,然后再复制压缩之后的文件到新jenkins实例的jenkins主目录下、解压,然后重启服务。

1. 压缩jobs目录

1.1 初次压缩

# tar -czvf jobs-bak.tar.gz jobs

但是执行完这个命令之后迟迟没有结束,感觉不太对劲。第一反应是不是文件太多或者太大。所以赶紧取消了命令的执行,使用了下面的命令来看下目录的大小。

# du sh 

经过了比较长的等待后结果回来了,发现整个目录近47G大,然后就想看下具体是哪些job的目录会比较大。

# du -m --max-depth=1 | sort -nr

再次经过了比较长的等待后结果出来了。

48472 .
35347 ./a
6968  ./b
971 ./c
省略n多目录

1.2 移除过多的历史构建记录之后再次压缩

然后就是清理这些多余的文件,为了清理这些过多的文件还差点整出了一个生产事故,具体参考我的上一篇博文Jenkins开启丢弃旧的构建?你可要小心啊!
在最终清理完这些文件之后再次压缩,这个时候压缩后得到的文件小多了。

# tar -czvf jobs-bak.tar.gz jobs
# du -sh jobs-bak.tar.gz 
123M	jobs-bak.tar.gz

2. 远程拷贝

# scp -f obs-bak.tar.gz root@JenkinsBip:/data/jenkins/

3. 登陆目标机器解压

# tar -zxvf jobs-bak.tar.gz -C jobs

4. 加载jobs

解压之后拷贝的job并不会立即生效,需要通过jenkins的 系统管理=》读取设置相关的功能来加载拷贝过来的job。
在这里插入图片描述

另外也可以通过重启服务来让这些job生效。

# systemctl restart  jenkins

在这里插入图片描述

5. 经验教训

总结一下本次得到的教训

我们在进行job迁移之前需要先移除过多的历史构建记录,只保留少量的历史构建记录,来保证在源机器和目标机器之间传递的数据尽量小,以减少数据压缩传输耗时,提高迁移效率。

另外就是确保job依赖的插件都要在新的机器上安装,否则迁移过来的job运行时会有问题。

在这里插入图片描述

标签:jobs,tar,主目录,Job,gz,job,jenkins,Jenkins,迁移
来源: https://blog.csdn.net/tobrainto/article/details/113623879

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有