Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

时间:2023-03-09 01:48:30
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 "
如图:

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

(2)SSH plugin
除了以上方法之外,还可以使用SSH 的插件--SSH plugin
系统管理-->系统配置-->SSH remote hosts,配置好远程主机

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

在项目中配置,如图:

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

这样就完成了对远程主机的管理
此外,还可以使用自动化工具,如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

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

(2)系统管理-->管理节点-->新建节点

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

(3)分配任务到节点
在项目中配置:
General-->Restrict where this project can be run-->Label Expression:node-01

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

此时,在对项目进行构建,将会分配到node-01节点上进行构建,如图:

Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群