一 什么是Jenkins的分布式构建和部署
Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:Windows和Linux系统)中编译、部署等。
二 什么时候使用节点和作用
当我们使用多台服务器时,并且配置了tomcat或jboss集群服务,可通过jenkins的节点配置,将jenkins项目发布在不同服务器上(分布jenkins工作空间,部署项目到不同服务器的tomcat或jboss),这就形成了jenkins的分布式。节点服务器不需要安装jenkins(只需要运行一个slave节点服务),构建事件的分发由master端(jenkins主服务)来执行。
三 节点服务器的要求
注意:如果节点主机上不存在JDK,Jenkins会去自动下载,但Oracle对程序自动下载做了限制,会导致下载失败,然后一直循环这个问题。
建议:所有Linux或者Windows机器的环境路径统一(如:JDK、Maven),安装位置和jenkins所在服务器的JDK和maven必须一致,也就是说jenkins所在服务器和各个节点服务器中的JDK和Maven目录和文件名都是一样的。以便于管理、不容易出现问题。
四 节点管理
1、新建节点
2、配置
3、下载 安装节点服务
--点击Launch,下载文件为slave-agent.jnlp
--将slave-agent.jnlp文件复制到远程服务器的远程工作目录D:\jenkins9下
--双击运行slave-agent.jnlp,如果如法运行,在cmd命令中输入javaws D:\jenkins9\slave-agent.jnlp
--运行过程如下所示:
--点击运行:
--显示Connected,即表示此节点创建成功。
4、将这个节点加入服务
上面的窗口关闭或者电脑重启后,这个节点也就关闭了,所以最好把这个节点加入window服务。
点击窗口的file菜单,点击Install as a service,完成
成功示例:(红框所示)
五 总结
因为itoo各个子系统是分布部署到不同的jboss服务器,以缓解服务器的压力,如何通过jenkins持续构建到相应的服务器呢,这个过程尝试了很多方法,包括使用jenkins的各种部署插件远程部署到其他服务器,但是都没有成功,原因也是很多,比如cargo的问题(itoo没涉及到cargo),jboss版本的问题(插件只支持到了jboss5,itoo用的jboss7)等等。但是最好找到了jenkins提供的节点服务,正如本文所说的,相当于jenkins的分布式构建及部署,并且和现在的jboss服务集群配合进行持续构建。
方法总比问题多,多扩展一些就会有新的发现。