Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群
-
一、Jenkins的远程管理
Jenkins的远程管理方式包含:
Shell ssh
SSH Plugin
ansible、saltstack
(1)Shell ssh
在项目构建时,jenkins使用了Execute Shell直接对远程主机操作,同步了代码到主机192.168.56.11上,并且可以增加对远程机器进行操作。例如执行某个脚本:ssh root@192.168.53.11 "/bin/sh /data/scripts/****.sh "
如图:
(2)SSH plugin
除了以上方法之外,还可以使用SSH 的插件--SSH plugin
系统管理-->系统配置-->SSH remote hosts,配置好远程主机
在项目中配置,如图:
这样就完成了对远程主机的管理
此外,还可以使用自动化工具,如ansible,saltstack,模式一致,只是用的是ansible或者是saltstack的命令行工具的不同。
-
二、Jenkins集群
当业务量变大时,单台的jenkins进行自动化构建部署,就显得没那么灵活,下面介绍jenkins的集群功能。
jenkins的集群并非像web服务器,mysql集群,jenkins的集群无需在额外的主机安装jenkins,但是用于java项目来说,要使用集群功能,额外的主机就必须要安装maven。
(1)在jenkins的web界面:系统管理-->Configure Global Security-->TCP port for JNLP agent配置端口30000
(2)系统管理-->管理节点-->新建节点
(3)分配任务到节点
在项目中配置:
General-->Restrict where this project can be run-->Label Expression:node-01
此时,在对项目进行构建,将会分配到node-01节点上进行构建,如图: