jenkins的Master-slave分布式架构主要是为了解决jenkins单点构建任务多、负载较高、性能不足的场景。java
Master/Slave至关于Server和agent的概念。Master提供web接口让用户来管理job和slave,job能够运行在master本机或者被分配到slave上运行构建。一个master(jenkins服务所在机器)能够关联多个slave用来为不一样的job或相同的job的不一样配置来服务。web
前提: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任务的。
在项目job中进行配置:
可经过标签或者名称进行匹配(标签可在安装时配置)
咱们能够发现控制台的日志,其也是slave构建的
以后查看构建完的工做目录,也有咱们预想中的文件。
这样基本上就实现了借助jenkins的slave去构建job了。
目前咱们是在slave构建也在slave上部署,以后咱们能够经过脚本,好比借助rsync、ansible等部署在其余服务器上。
咱们也能够为咱们的slave服务器在配置时候加上标签,这样也会方便咱们选择,用法也不仅仅局限在一台服务器上,可让多台slave去竞选。