一 什么是Jenkins的分布式构建和部署
Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:Windows和Linux系统)中编译、部署等。
二 什么时候使用节点和作用
当我们使用多台服务器时,并且配置了tomcat或jboss集群服务,可通过jenkins的节点配置,将jenkins项目发布在不同服务器上(分布jenkins工作空间,部署项目到不同服务器的tomcat或jboss),这就形成了jenkins的分布式。节点服务器不需要安装jenkins(只需要运行一个slave节点服务),构建事件的分发由master端(jenkins主服务)来执行。
jenkins分布式的作用
当一个持续集成系统非常庞大的时候,一台持续集成系统是无法完成大批量的job的,所以利用分布式的Jenkins应用就可以解决这样的问题
jenkins分布式框架的原理
对于jenkins的分布式框架,大家可以简单的理解为server-client模式,在jenkins中是Master-slave,也就是一个主的server叫Master,其他的子client都是slave,所以以后我们说slave就是指的一个一个的客户端,而master就是指的主机。
Master的作用:负责分发job任务的。把job分配给某个或者某几个slave来工作。
Slave的作用:负责干活的,也就是do job的。一个一个的客户端来真正运行Master给我们的任务。
动手操作
1.Master配置
打开Jenkins的web页面,在‘系统管理’-‘管理节点’中点击‘新建节点’
系统管理
管理节点
新建节点
为节点命名
节点说明
启动方法Launch method:控制hudson怎么开始这个slave:
Launch slave agents on Unix machines via SSH // master通过ssh来启动slave
Launch slave agents via Java Web Start //通过Java web start来启动slave
Launch slave via execution of command on the Master //实现自己的脚本来启动slave
Let Jenkins control this Windows slave as a Windows service // master通过WMI+DCOM来启动windows slave
Availability:控制hudson启动和停止slave
Keep this slave on-line as much as possible //尽可能多的在线
Take this slave on-line and off-line at specific times //在特定的时间启动和停止运行
Take this slave on-line when in demand and off-line when> 点击保存
然后会看到如图所示:
agent连接方式
可以看到如下两种方式来启动agent,其实就是把master和slave连接到一起。
Launch agent from browser
下载一个jnlp文件,把这个文件复制到slave机器,然后运行。或者在slave机器上通过浏览器访问当前页面,直接下载到slave上。
Run from agent command line
直接通过java的命令号启动jnlp。点击带下划线的超链接slave.jar,把slave.jar下载到slave本地的某个目录下,然后通过这个java命令来启动:java -jar slave.jar -jnlpUrl http://127.0.0.1:8080/computer/test_bat_on_164/slave-agent.jnlp -secret 4108138a31a3435b7b5333ad570ba81f5d23c300530e5fb5f440f82ab84cbf09
说白了,这两种方式都是通过java来启动jnlp
这里有个重点的问题需要讲解
那就是这个jnlp文件,因为默认的jnlp文件里的内容是
Agent for test_bat_on_164Jenkins project4108138a31a3435b7b5333ad570ba81f5d23c300530e5fb5f440f82ab84cbf09test_bat_on_164-urlhttp://10.200.0.185:8080/jenkins-urlhttp://10.200.0.185:8080/jenkins/
双击运行这个jnlp,如果没有正确的打开方式,请安装jdk。打开方式选择Java Web Start Launcher
启动运行程序
[img]http://blog.51cto.com/lookingdream/ |