
1.分布式的作用
当在多个job的环境里,一台主jenkins服务器同时执行多个job,如代码的cone、代码的编译、测试、打包、构建
,这样jenkins代码部署的效率会大幅度下降,成为单台jenkins部署效率的瓶颈,这时候就需要jenkins分布式管理,
在主jenkins上添加多个jenkins的node节点,这时候jenkins就可以将多个项目job运行在添加的多个nodes上,从而
大大降低主jenkins服务器的负载,提高代码部署效率,因此jenkins的分布式管理很有必要
2.给node1节点创建一个与jenkins相同的工作目录
[root@node1 ~]# mkdir -p /var/lib/jenkins
3.配置node1节点的java环境
1)准备好jdk压缩包文件
[root@node1 src]# ls
jdk-8u211-linux-x64.tar.gz
2)将jdk解压
[root@node1 src]# tar xvf jdk-8u211-linux-x64.tar.gz
3)创建软连接
[root@node1 src]# ln -sv jdk1.8.0_211 jdk
[root@node1 src]# ln -sv /usr/local/src/jdk/bin/* /usr/bin/
4)配置java的环境变量
[root@node1 ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
5)生效Java环境变量
[root@node1 ~]# source /etc/profile
6)测试java
[root@node1 ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
[root@node1 ~]# echo $JAVA_HOME
/usr/local/jdk
[root@node1 ~]# echo $CLASSPATH
/usr/local/jdk/lib:/usr/local/jdk/jre/lib:/usr/local/jdk/lib/tools.jar
7)若node1节点也需要在gitlab仓库拉取镜像则需要下载git工具
[root@node1 ~]# yum install git -y
4.jenkins的服务端添加node1节点
1)找到系统管理

2)点击进入节点管理

3)创建新节点New Node

4)创建node1节点,选择固定节点

5)node1节点连接配置中,发现启动方法里面没有ssh启动代理的方法(launch agent agents via SSH),需要安装ssh slave插件

6)安装ssh slave插件,jenkins是通过ssh启动代理与node1节点建立连接

7)再返回配置node1节点,发现ssh启动代理的方法

8)然后配置主机信息,认证方式为root用户登录方式,在add选项中点击jenkins设置远程登录用户

9)输入远程登录的用户和密码以及描述信息

10)配置最终的修改,其他选项保持默认,点击save保存

11)node1节点同步成功,添加节点完成

12)在查看node1节点的启动日志(确保jenkins服务器和node1节点时间必须同步)

13)日志信息中虽然显示代理连接成功,但有一处报错"/var/lib/jenkins/jdk/bin/java"没有这个文件或目录

14)需在node1节点定义的工作目录下创建此文件目录并创建java软链接
[root@node1 ~]# mkdir -pv /var/lib/jenkins/jdk/bin
mkdir: created directory ‘/var/lib/jenkins/jdk’
mkdir: created directory ‘/var/lib/jenkins/jdk/bin’
[root@node1 ~]# ln -sv /usr/local/src/jdk/bin/java /var/lib/jenkins/jdk/bin #创建软链接,直接指向java二进制可执行文件
‘/var/lib/jenkins/jdk/bin/java’ -> ‘/usr/local/src/jdk/bin/java’
15)再重新启动node1节点的连接,此时报错信息已经解决,node1节点创建成功

16)再查看node1节点的java运行状态
[root@node1 ~]# ps -ef | grep java
root 10348 10308 0 12:19 ? 00:00:00 bash -c cd "/var/lib/jenkins" && /var/lib/jenkins/jdk/bin/java -jar remoting.jar -workDir /var/lib/jenkins
root 10355 10348 0 12:19 ? 00:00:34 /var/lib/jenkins/jdk/bin/java -jar remoting.jar -workDir /var/lib/jenkins
root 10811 9443 0 14:04 pts/0 00:00:00 grep --color=auto java