单节点的Jenkins在实际生产中是很少使用的,满足不了生产环境的业务,所以我们一定是使用Jenkins集群来做持续集成,Jenkins的集群搭建是非常简单的,而且有多种方式。下面我们来介绍一下。
安装Jenkins
先找一台机器安装Jenkins,安装好后这台机器就作为Jenkins集群的master节点,注意从节点是不需要安装Jenkins的,只需要安装jdk、版本管理工具(git/svn)、构建所需工具即可。安装好Jenkins后,我们就可以添加从节点了。需要进行一下准备:
- 安装插件:SSH Slaves
- 打开agent控制项
在全局安全配置中,选中下面的选项
添加节点
回到系统管理页面,选中节点管理->新建节点
添加固定节点
填写节点的相关信息,名称、标签、远程工作目录,重点就是启动方式了,我们主要使用两种启动方式
- Launch agents via SSH
使用ssh协议,从master向slave发起连接,由master主动发起请求
- 通过Java web启动代理
使用Java web的JNLP协议,从slave向master主动发起连接
节点启动方式配置
Launch agents via SSH
这种方式必须要先安装SSH Slaves插件,否则可能看不到,先配置一个全局凭证,配置用户名密码
在节点管理中添加一个固定节点,选择Launch agents via SSH方式,注意下面选择Non verifying Verification Strategy,其他的方式也可以选择,无非是选择用户密码还是选择私钥方式验证登录。
保存后,可以看到节点列表界面,此节点已经为连接状态
前提是安装好了jdk,如果不是做Java开发,在不是必须使用Java jdk的情况下,我推荐安装OpenJDK,可以使用各种包管理工具(apt、yum)自动安装。
测试一下当前节点
使用之前创建的freestyle工程
保存后立即启动构建
通过执行日志我们看到任务运行成功了,我们登录到节点机器上,看一下配置的工作目录下是否更新了代码
通过Java web启动代理
这种方式也是jnlp的连接方式,这种方式非常优秀,可以无视系统,基本是通过socket方式连接
查看节点状态
通过jnlp方式配置的节点,有两种启动方式
- 通过浏览器启动在节点机器上访问Jenkins网页,进入到上面这个节点状态页面,点击Launch按钮即可
- 通过命令行启动命令已经给出来了,有一个agent.jar的链接,点击以后下载agent.jar文件,将文件拷贝到节点机器上,在其目录下执行页面给出的命令就行了。默认是在前台执行,可以使用nohup在后端执行即可
执行成功后,节点状态会自动刷新为正常。
同样我们可以使用freestyle工程进行验证
注意:
在上面截图中显示的命令地址为127.0.0.1,这样会导致节点无法注册成功,需要修改为机器的ip地址。首先要在Jenkins的配置中修改监听地址,“系统管理”->“系统配置”
将这里127.0.0.1修改为机器IP地址即可