Jenkins复制和导出导入job
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
一、同一个Jenkins中复制job
如果是同一个Jenkins复制job只需要在创建Job时选择Copy from一个已有的job即可。也就是在下方上面的红框中输入你新建job的名称在下面的红框中输入你想要复制的job(已经建好的job)然后点击确定。这样就完后了复制。
二、跨Jenkins复制job
- 方法一直接复制jobs
1Jenkins的job都在$JENKINS_HOME/jobs目录一般都在/var/lib/jenkins/jobs我的是用jenkins的war包所以我的job目录在/root/.jenkins/jobs下每个job一个目录。
复制全部job
cd /root/.jenkins/
# 在源Jenkins上压缩jobs目录
tar -czvf jobs.tar.gz jobs
# 在目标Jenkins上解压jobs目录
tar -zxvf jobs.tar.gz
复制某一个job
cd /var/lib/jenkins/jobs
# 在源Jenkins上压缩指定的job目录
tar -czvf myjob.tar.gz myjob
# 在目标Jenkins上解压指定的job目录
tar -zxvf myjob.tar.gz
2然后在目标Jenkins上打开Manage Jenkins系统管理选择Reload Configuration from Disk读取设置。我的是中文版的点击下面的图标
注意不需要重启Jenkins。
- 用Jenkins-CLI来导出和导入
1在Jenkins上打开Manage Jenkins打开Jenkins-CLI中文版Jenkins命令行接口
2下载jenkins-cli.jar按照Jenkins-CLI页面的指引来操作
# 导出一个job
java -jar jenkins-cli.jar -s http://114.xxx.xxx.123:8095/ get-job myjob > myjob.xml
# 导入一个jobs
java -jar jenkins-cli.jar -s http://114.xxx.xxx.123:809/ get-job myjob < myjob.xml
注意我Jenkins的端口是8095大家按自己的填写就行
3然后在目标Jenkins上打开Manage Jenkins系统管理选择Reload Configuration from Disk读取设置。
注意不需要重启Jenkins。
4这种方法在本地操作时会遇到ERROR: anonymous is missing the Overall/Read permission的错原因是为了安全考虑Jenkins默认不允许直接通过jenkins-cli来调用。
解决方案
https://stackoverflow.com/questions/51038858/jenkins-cli-error-anonymous-is-missing-the-overall-read-permission