jenkins是一个开源的持续集成工具,其使用比较简单,是很多软件所使用的集成工具,使用者众多,并且拥有极好的解决方案。笔者的公司采用的是自研的CI工具,也存在一些问题,但从事产品所涉及的开源软件是采用jenkins作为持续集成工具。
本文的目的:旨在搭建一个windows8的master节点,调用slave节点windows2008、ubuntu的jenkins持续集成环境。
因为jenkins的持续集成构建,不仅仅是需要在本地完成,往往需要同时调用几个从节点并行进行,或者作为自动化脚本用例的调度器。
下面逐一进行配置:
1、安装虚拟机:
笔者使用的是一个windows8的双核笔记本,需要采用vmware workstation的虚拟化工具搭建一个windows2008和一个ubuntu虚拟机(这里略去搭建的具体的过程,可自行百度查看vmware虚拟机搭建,比如:http://jingyan.baidu.com/article/90895e0f95a07564ec6b0bc7.html)。
2、jenkins下载:
http://mirrors.jenkins-ci.org/windows/latest
这里我们选用windows的安装包,因为主节点搭建在windows8上。
3、jenkins安装:
安装时采取默认即可,不过需要更改配置文件,因为笔者之前按安装过apache服务,其已经占用了8080端口,故需要更改配置文件中的端口,更改完成后,即可通过services.msc调用windows后台,重新启动jenkins's服务。配置文件在jenkins的安装路径下jenkins.xml:
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8081 --webroot="%BASE%\war"</arguments>
或者使用http://192.168.21.104:8081/登陆,其中192.168.21.104为windows8的IP地址。
4、配置从节点:
在jenkins主界面,按照如下方式设置:系统管理->管理节点->新建节点
这里新建一个ubuntu的从节点:
Windows2008从节点仿照该配置。
5、配置ubuntu从节点:
仅仅在这里配置,还无法完成对ubuntu的操作,还要继续配置ubuntu的节点:
(5a)Ubuntu需要安装java:
http://www.java.com/en/download/linux_manual.jsp
这里ubuntu为64位,故选linux x64安装包,并将其加压到/usr/local/java目录下
安装完成后,需要添加路径,在ubuntu的配置文件:/etc/profile的尾部加上:
export JAVA_HOME=/usr/local/java/jre1.8.0_73
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
输入java -version验证是否安装成功。
(5b)打开SSH登陆协议。
因为jenkins是通过ssh协议登陆linux从节点的,故需要开启ssh登陆协议,ssh开开启参照如下:
http://www.cnblogs.com/nodot/archive/2011/06/10/2077595.html
配置完成后,用putty或xshell测试是否可以正常登陆。
(5c)测试jenkins登陆:
在测试过程中会碰到很多问题,对可能的问题需按照日志逐一排查,下面是一个成功建立从节点链接的日志:
6、配置windows从节点:
(6a)登陆windows 2008;
(6b)下载java jdk,并设置环境变量;
(6c)登陆master上的jenkins:http://192.168.21.104:8081/,切换到jenkins上的节点管理,然后点击launch,下载slave-agent.jnlp;
(6d)修改slave-agent.jnlp文件,将其中的localhost全部改为:192.168.21.104;
(6e)用javaws运行:javaws slave-agent.jnlp;
(6f)最后,会弹出来如下,表示成功将该windows 2008添加为slave节点:
不要关闭这个界面,否则会出现断连。
7、验证测试:
看到节点是如下的形式,图标上没有红色叉号,说明ubuntu和windows2008的slave节点已经成功添加了: