jenkins的CLI操作

jenkins提供了CLI(命令行接口),使我们可以通过命令行,对jenkins进行操作。设想,要创建100个任务,每个任务只有执行的命令不一样,难道要在jenkins上操作,创建100个任务,然后每个人物单独设置?那样的话,效率就太低了。

有了CLI,我们可以写一个脚本,来进行任务的创建。当然CLI不只可以进行任务的创建,还可以做其他很多的操作。

在jenkins的 manage jenkins 选项中,有jenkisn CLI选项。

该选项,将jenkins的CLI,都进行了列举。并且还说明了,每个命令的用法。首先是将红色框中jenkins-cli.jar这个包,进行下载,因为jenkins的CLI的命令,都需要使用该包。

然后使用提供的命令,测试,是否可以访问jenkins。

       java  -jav  jenkins-cli.jar  -s  http://172.16.66.50:8080  help

如果有返回信息,说明访问jenkins成功。但是,此时是没有权限,执行一些操作的。比如:

        java  -jav  jenkins-cli.jar  -s  http://172.16.66.50:8080  who-am-i

就会提示没有执行错误,没有权限。

CLI是通过ssh和jenkins通信的,而对于CLI的一些命令,需要SSH的key。因此将执行CLI命令的用户的SSH key,添加到jenkins的对应用户的key里面就行了。

在用户的界面中,显示了jenkins上的各个用户。我使用的jenkins是以bjatp_ci作为执行用户的。因此要修改这个bjatp_ci。

进入到该用户,选择 configuration, 进行配置。

在SSH public keys中,将用户的SSH keys填入。最后保存。

然后再执行该命令,就会显示命令执行结果。

SSH key配置完毕后,就可以执行CLI的所有命令了。

创建任务

使用create-job命令,来创建一个job。但是创建job,需要一个XML文件,该文件描述了job的配置信息。

该XML配置文件,可以通过 get-job 命令,来获取jenkins中已存在命令的job配置信息。

以下命令,就获取了test这个job的配置信息。

    java  -jav  jenkins-cli.jar  -s  http://172.16.66.50:8080  get-job test > test_config.XML

该XML文件,就是任务的配置信息,可以修改这个配置文件,从而利用这个配置文件去创建新的任务,或者更新现有的任务。

以下命令,就创建了test1这个任务,使用刚刚的配置文件。

    java  -jav  jenkins-cli.jar  -s  http://172.16.66.50:8080  get-job test1 <test_config.XML

有了这个命令,批量创建任务,就很简单了,将该命令,写入到脚本中,就可以批量创建任务了。

Jenkins还提供了其他的一些命令,查看使用说明就行。如果是需要XML文件的,可以从jenkins上已有的,获取XML文件,然后修改该XML文件即可。

此条目发表在持续集成分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。