zl程序教程

您现在的位置是:首页 >  Java

当前栏目

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:

复制某一个job:

(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来调用。

解决方案: