jenkins-master-slave节点配置总结
一、jenkins分布式简单介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
二、jenkins工作原理
选择Gitlab作为git server。Gitlab的功能和Github差不多,但是是开源的,可以用来搭建私有git server,也提供非常强大的web GUI,比如开发者互相review源代码的时候就会很方便。
系统的工作流程大概分为以下几步:
1> 开发者将新版本push到git server (Gitlab)。
2> Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测)
3> jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等。这些原本需要手动完成的任务都可以交给jenkins来做。
4> 我们在build中要进行编译,这里使用了分布式编译器distcc来加快编译速度。
三、jenkins 主从配置
1、环境介绍
jenkins 版本:2.204.1
jenkins master部署与window7,slave节点为linux
2、jenkins主从配置
Manage Jenkins-》Mange Nodes-》
新建节点
节点名称:随便写,为了快速区分可以master或slave+响应IP区分开
配置节点:
名称:定义slave的唯一名称标识,可以是任意字符串,通常设置为slave主机名、ip地址
描述:关于slave的描述,通常用于描述与其它salve的区别
可执行器数量:这个值控制着Jenkins并发构建的数量. 因此这个值会影响Jenkins系统的负载压力. 使用处理器个数作为其值会是比较好的选择。
增大这个值会使每个构建的运行时间更长,但是这能够增大整体的构建数量,因为当一个项目在等待I/O时它允许CPU去构建另一个项目。
设置这个值为0对于从Jenkins移除一个失效的从节点非常有用,并且不会丢失配置信息
远程工作目录:
指定slave的工作目录路径(提前在slave节点建好路径)。最好设置为绝对路径,如“/var/jenkins”或“c:\jenkins”。这里填写的是相对于slave主机的路径,正常情况下,不必对master主机可见
用法:
尽可能的使用这个节点:
这是默认和常用的设置. 在这种模式下,Jenkins会尽可能的使用这个节点.任何时候如果一个构建能使用这个节点构建,那么Jenkins就会使用它.
只允许运行绑定到这台机器的Job
Jenkins只会构建哪些分配到这台机器的Job. 这允许一个节点专门保留给某种类型的Job.例如,在Jenkins上连续的执行测试,你可以设置执行者数量为1,那么同一时间就只会有一个构建, 一个实行者不会阻止其它构建,其它构建会在另外的节点运行.个
启用方式:
launch agent agents via ssh:通过ssh启动代理
launch agent by connecting it to the master:启动代理程序,将其连接到主服务器
launch agent via execution of command on the master:通过执行主机上的命令来启动代理
let jenkins control this windows agent as a windows service:让jenkins作为一个windows服务来控制这个windows代理
保存节点后,显示如下:
点击launch下载slave-agent.jnlp和agent.jar包,并上传slave节点服务器且启动
执行命令须从上复制:java -jar agent.jar -jnlpUrl http://XXX.XXX.XXX.XXX:8080/computer/XXX/slave-agent.jnlp -secret 19b1c0348b0312ffa16e5eca13dc9eb28258f2f8701ce94e90f33b4846312b5e -workDir "/data/jenkins" &
设置后台运行,如果显示出现connected 表示slave启动成功,如下
此刻新建slave节点应该就显示在线:
3、遇到问题及解决方法
参考链接:
https://www.cnblogs.com/lxs1314/p/7551309.html
https://www.cnblogs.com/majestyking/p/10421492.html
https://www.cnblogs.com/zndxall/p/8297356.html
https://cloud.tencent.com/developer/article/1087020
遇到的坑还的自己填自己多总结多回顾、、、、