Jenkins自动化CI CD流水线之4--Master-Slave架构

1、介绍

jenkins的Master-slave分布式架构主要是为了解决jenkins单点构建任务多、负载较高、性能不足的场景。java

Master/Slave至关于Server和agent的概念。Master提供web接口让用户来管理job和slave,job能够运行在master本机或者被分配到slave上运行构建。一个master(jenkins服务所在机器)能够关联多个slave用来为不一样的job或相同的job的不一样配置来服务。web

2、安装

前提:slave所在服务器必须有java环境服务器

jenkins web端进行操做:架构

系统管理->管理节点->新建节点oracle

1)进行基础配置,配置选项中的内容是可变的,根据状况来分布式

注意这里须要配置凭据,也就是配置slave所在服务器用户和密码性能

以后保存,若是无误的话就会直接启动了,如图下所示是有问题的spa

 

经过看输出日志,咱们发现是jdk的问题,通常来讲,其会判断slave所在服务器有没有jdk,若是有的话其就会进行检测(其本身回去几个路径下进行检查),以下图所示,就是没有检查到(由于jdk是咱们本身装的,路径并非默认的路径)。3d

没有检查到的话其就会去oracle官网下载,来为slave所在服务器进行安装,可是由于中国的缘由,被墙了,因此也会下载失败,最终就致使完全失败了,失败如图下:日志

 

有两种方法解决:推荐方法1:

方法1:

在配置时高级的选项里指定java路径:以下图所示:

方法2:

为java路径作一个软连接,保证jenkins能够检测到java。

[root@web ~]# ln -s /usr/local/jdk1.8/bin/java /usr/bin/java
[root@web ~]# ll /usr/bin/java 
lrwxrwxrwx 1 root root 26 Jul 25 17:33 /usr/bin/java -> /usr/local/jdk1.8/bin/java

 以后在看已经成功了!!!!!

而且咱们也能够在slave所在服务器看到:

jar包就是负责接收master任务的。

3、配置

在项目job中进行配置:

可经过标签或者名称进行匹配(标签可在安装时配置)

4、构建

咱们能够发现控制台的日志,其也是slave构建的

以后查看构建完的工做目录,也有咱们预想中的文件。

这样基本上就实现了借助jenkins的slave去构建job了。

目前咱们是在slave构建也在slave上部署,以后咱们能够经过脚本,好比借助rsync、ansible等部署在其余服务器上。

5、扩展

咱们也能够为咱们的slave服务器在配置时候加上标签,这样也会方便咱们选择,用法也不仅仅局限在一台服务器上,可让多台slave去竞选。

相关文章
相关标签/搜索