Jenkins Job迁移--CLI导入

2021-06-01 17:56:25 浏览数 (1)

Jenkins CLI方式导入

有时候在公司内部Jenkins部署到不同的网段里,不同网段间可能会限制无法相互访问,这种情况下通过Job Import Plugin进行job导入的方式就行不通了,这时候可以通过Jenkins CLI方式进行job配置导出,然后新Jenkins在根据导出的配置进行再导入操作,完成job的配置迁移 。下面我们来具体讲解下。

现到旧Jenkins下的Jenkins管理页面找到Jenkins CLI,如下所示:

点击进入Jenkins CLI,可以看到Jenkins命令行接口提供很多命令可以用来进行Jenkins的相关操作,可以看到有提供了get-job这样一个命令,这个命令可以将job的定义导出到xml的格式到输出流,这样我们可以通过这个命令将旧Jenkins上的job导出到外部文件,然后还可以看到有另外一个命令create-job,这个命令可以根据已有的xml配置文件进行job创建,那我们可以根据从旧job导出的job配置文件做为输入进行job的创建了。

首先在旧的Jenkins上的cli页面点击jenkins-cli.jar就可以下载这个jar到本地,如下所示:

接着点击下Jenkins右上角的账号,选择Configure,然后点击Show API Token,拷贝token,这个token可以用来进行配置导出的时候做为认证使用

在jenkins-cli.jar下载的根目录下执行如下命令进行job导出,这里我新建了个job,命名为test4,现在执行下如下命令进行test4这个job配置的导出:

代码语言:javascript复制
 java -jar jenkins-cli.jar -s http://192.168.9.10:8080/jenkins -auth admin:493375c06bc0006a455005804796c989 get-job "test4" > test4.xml

http://192.168.9.10:8080/jenkins: 就Job的Jenkins地址

admin: 上面截图获取Show API Token下的User ID

493375c06bc0006a455005804796c989:上面截图获取API Token的值

test4: 需要导出配置的job名

test4.xml: 导出的文件的名称,可任意

根据实际情况替换下上面的四个值即可

执行完上面的命令就可以看到test4.xml文件生成了

接着在新的Jenkins下同样先下载下jenkins-cli.jar,然后将上面生成的test4.xml拷贝到新的Jenkins机器下,同样获取下新Jenkins登录账号的API Token和User ID,执行下如下命令就可以进行job导入了

代码语言:javascript复制
java -jar jenkins-cli.jar -s http://192.168.9.8:8080/jenkins -auth admin:51964e7b89a427be5dd2a28f38c86eff create-job test4 <  test4.xml

记得将URL替换成新Jenkins的URL,User ID和token也替换下

上面的命令执行完后,就可以看到在新的Jenkins下新job被成功导入了

0 人点赞