Jenkins复制和导出导入job
2023-04-18 16:29:58 时间
一、同一个Jenkins中复制job
如果是同一个Jenkins复制job,只需要在创建Job时,选择Copy from一个已有的job即可。也就是在下方上面的红框中输入你新建job的名称,在下面的红框中输入你想要复制的job(已经建好的job),然后点击确定。这样就完后了复制。
二、跨Jenkins复制job
- 方法一:直接复制jobs
(1)Jenkins的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
相关文章
- Jease 2.6发布 Java开源内容框架
- JVM调优总结:反思
- JVM调优总结:调优方法
- JVM调优总结:新一代的垃圾回收算法
- JVM调优总结:典型配置举例
- JVM调优总结:分代垃圾回收详述
- JVM调优总结:垃圾回收面临的问题
- JVM调优总结:基本垃圾回收算法
- JVM调优总结:一些概念
- 用Java GUI编写的画板程序
- Java的动态绑定机制
- jOOQ 2.0.2发布 Java的ORM框架
- Java中带复选框的树的实现和应用
- Java网络编程菜鸟进阶:TCP和套接字入门
- 甲骨文与谷歌专利权之争定于今年三月开审
- Java调用C/C++编写的第三方dll动态链接库
- 集成开发环境 NetBeans IDE 7.1正式版发布
- kangle 2.7.5紧急发布 防hash碰撞攻击
- 东方通技术引领模式为国产软件“争权”
- UML中关联,组合与聚合等关系的辨析