管理员通过命令行工具访问并管理 Jenkins。这让我们可以通过脚本自动化的创建配置或执行任务,也就是把 Jenkins 中的配置代码化了。Jenkins 同时支持通过 SSH 和客户端命令行工具 jenkins-cli.jar 进行访问。本文主要介绍如何通过这两种方式用命令行操作 Jenkins。说明:本文的演示环境为 ubuntu 16.04。
Configure Global Security:
随机产生的,无论如何,我们都可以用下面的命令来获得 Jenkins SSH Server 监听的端口号:
用户至少要有 Overall/Read 权限才能访问命令行接口,但是根据执行的命令的不同还需要更高的权限。本文主要演示如何配置远程执行命令,所以演示用的用户具有全部权限。
用户添加身份验证的秘钥 jack):
调用 Jenkins Server 提供的命令了,先来问一下 "我是谁?":
输出很长,上图仅截取了一部分,我们还可以通过 help 命令查看其它命令的详细用法,笔者会在后面的文章中详细介绍常用命令,这里先一笔带过。
名称为 test 的 job,这个 job 非常简单,仅仅输出字符串 "hello":
自动化脚本远程操作 Jenkins Server 了。下面我们一起看看 Jenkins 提供的另外一种方式:客户端命令行工具。
自带的命令行工具是一个 java 程序,可以通过下面的 url 下载到远程主机上:
用户名和密码认证用户身份用户名和密码的方式进行认证:
用户 jack 生成 API Token:
用户名和 API Token 保存到文件中,这样能进一步提高安全性:
用户的家目录。
用户名和 API Token:
效果也是一样的。
支持通过 SSH 进行连接。同时指定 -ssh 和 -user 选项就可以了:
自动化的创建 Jenkins Server(参考前文《》),然后再通过 Jenkins 提供的 CLI 自动化的操作 Jenkins 中的配置。这样我们就打通了整个 Jenkins Server 的自动化过程(当然,笔者还会介绍如何自动化的创建运行 Jenkins Server 的宿主机)。好吧,这都只是些简单的 demo,在生产环境中要做的事情可要多的多!