FavoriteLoading
0

如何在CentOS下安装部署Jenkins持续集成环境

 Jenkins简介

Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

安装Jenkins

下载配置JDK
Jenkins是基于Java开发的,自然需要先安装Java SDK,最好安装JDK 1.5以上版本,跟开发环境版本保持一致。
JDK 1.6下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR
根据系统是32位还是64位选择对应的版本下载,这里选择下载jdk-6u45-linux-x64.bin
安装配置jdk

1
2
3
4
#cp jdk-6u45-linux-x64.bin /opt/
#cd /opt
#chmod +x ./jdk-6u45-linux-x64.bin
#./jdk-6u45-linux-x64.bin

配置jdk

1
#vim /etc/profile

在文件最后添加

1
2
3
4
5
JAVA_HOME=/opt/jdk1.6.0_45
JRE_HOME=/opt/jdk1.6.0_45/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH

保存退出
更新环境变量

1
#source /etc/profile

检查是否配置成功

1
#java -version

如果显示下面的内容,则表示配置正确

下载配置Jenkins
可到官网:http://www.jenkins-ci.org/ 下载最新版本的war包

1
2
#cd /opt
#wget -c http://mirrors.jenkins-ci.org/war/latest/jenkins.war

启动Jenkins

1
#java -jar ./jenkins.war

启动Jenkins后,默认端口是8080,通过浏览器访问 http://服务器ip:8080 即可
指定端口启动

1
#java -jar ./jenkins.war --httpPort=8082

启动后,会在当前屏幕输出log信息,如果是远程连接启动jenkins,控制台窗口不能关闭,关闭后服务会终止,怎么解决这个问题呢?
利用nohup使其在后台运行,执行命令

1
#nohup java -jar /opt/jenkins.war --httpPort=8082 &

停止Jenkins服务,杀掉相应的进程即可

1
#kill `ps aux | grep jenkins | awk 'NR==1 {printf $2}'`

可以编写一个脚本来实习启动和停止Jenkins服务

1
#vim jenkins.sh

输入以下内容

1
2
3
4
5
6
7
8
#!/bin/sh
if [ "$1" = "start" ];then
nohup java -jar /opt/jenkins.war --httpPort=8082 &
elif [ "$1" = "stop" ];then
kill `ps aux | grep jenkins | awk 'NR==1 {printf $2}'`
else
echo "Please input like this:"./jenkins.sh start" or "./jenkins stop""
fi

保存退出,赋予脚本执行权限

1
#chmod +x ./jenkins.sh

启动Jenkins

1
#./jenkins.sh start

停止Jenkins

1
#./jenkins.sh stop

安装配置Android SDK

下载安装linux版Android SDK

1
2
#cd /opt
#wget -c http://dl.google.com/android/android-sdk_r22.6.2-linux.tgz

解压

1
#tar zxvf android-sdk_r22.6.2-linux.tgz

配置环境变量

1
#vim /etc/profile

增加以下内容(红色)

1
2
3
4
5
6
JAVA_HOME=/opt/jdk1.6.0_45
JRE_HOME=/opt/jdk1.6.0_45/jre
ANDROID_SDK_HOME=/opt/android-sdk-linux
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/build-tools/android-4.2.2:$ANDROID_SDK_HOME/platforms/android-8/
export JAVA_HOME JRE_HOME PATH CLASSPATH ANDROID_SDK_HOME

保存退出
更新环境变量

1
#source /etc/profile

检查是否配置成功

1
#android --help

如果正常显示出帮助信息,说明配置正确。

配置SDK

1
#android list sdk

根据获取的sdk列表,选择序号安装对应的sdk工具

1
#android update sdk --no-ui --filter tools,platform-tools,1,5,6,7,15

如果是在64位系统下安装Android SDK,需要安装支持32位的库

1
2
3
#yum -y install glibc.i686
#yum -y install ncurses ncurses-devel ncurses-libs ncurses-libs.i686 ncurses-devel.i686
#yum -y install zlib.i686

安装SVN客户端

1
2
#yum -y install subversion
#svn help

如果正确显示出帮助信息,说明安装成功。

安装配置ant、maven环境

下载ant、maven

1
2
3
4
5
#cd /opt
#wget -c http://mirrors.hust.edu.cn/apache/ant/binaries/apache-ant-1.9.4-bin.tar.gz
#wget -c http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz
#tar zxvf apache-ant-1.9.4-bin.tar.gz
#tar zxvf apache-maven-3.2.1-bin.tar.gz

配置环境变量

1
#vim /etc/profile

增加以下内容(红色)

1
2
3
4
5
6
7
8
9
10
ANT_HOME=/opt/apache-ant-1.9.4
M2_HOME=/opt/apache-maven-3.2.1
M2=$M2_HOME/bin
JAVA_HOME=/opt/jdk1.6.0_45
JRE_HOME=/opt/jdk1.6.0_45/jre
ANDROID_SDK_HOME=/opt/android-sdk-linux
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/build-tools/android-4.2.2:$ANDROID_SDK_HOME/platforms/android-8/:$ANT_HOME/bin:$M2
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH ANDROID_SDK_HOME ANT_HOME M2_HOME
export MAVEN_OPTS="-Xms256m -Xmx512m"

保存退出
更新环境变量

1
#source /etc/profile

安装代码风格和代码静态扫描工具

Checkstyle:

1
2
#cd /opt
#wget -c http://jaist.dl.sourceforge.net/project/checkstyle/checkstyle/5.7/checkstyle-5.7-bin.tar.gz

Findbug:

1
#wget -c http://jaist.dl.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-2.0.3.tar.gz

Pmd:

1
2
3
4
#wget -c http://jaist.dl.sourceforge.net/project/pmd/pmd/5.1.1/pmd-src-5.1.1.zip
#tar zxvf checkstyle-5.7-bin.tar.gz
#tar zxvf findbugs-2.0.3.tar.gz
#unzip pmd-src-5.1.1.zip

验证环境是否配置正确

将代码从svn检出到工作目录,如:

1
2
3
#cd /home/jenkins
#mkdir antTest
#svn co https://yunlai-tserver/svn/HH_Android/QianLong/QianLong/ ./antTest

利用Android SDK自动生成ant的build.xml文件

1
#android update project --path . --name projectname(此参数修改为项目名称) --target android-19

执行ant编译

1
#ant debug

如果编译过程没报错,在项目的bin目录下正确生成了apk文件,表示ant和Android SDK配置正确,可以正常使用ant对Android应用进行自动编译打包。

配置Jenkins

访问Jenkins,添加一个任务。

填写项目名称,选择"构建一个自由风格的软件项目"
点击"OK"按钮,接下来配置配置库。
在源码管理中选择"subversion"

Repository URL:项目的SVN配置库地址
Credentials:SVN的用户名和密码
其他选项可以默认,用户名和密码通过点击右边的"Add"按钮添加
设置定时构建,在构建触发器中,选择Poll SCM,在日程表中填写:H(0-29) 8,12,17 * * *
表示每天的8点、12点、17点在0到29分之间任意时刻执行构建,如下图所示。

接下来,在添加构建步骤中,选择Invoke Ant,配置ant构建参数。


在Targets中填写debug作为测试,其他值可以默认,保存工程。
如果需要指定build.xml文件的路径,可以将路径填写在Build File中
在构建工程之前,我们需要将上面生成的build.xml文件更新到配置库中的项目目录下,这样自动更新项目代码后就可以利用ant自动build了。
启动工程看看效果吧!

声明:本文为原创,作者为 归根落叶,转载时请保留本声明及附带文章链接:https://www.bstester.com/2014/07/ru-he-zai-centos-xia-an-zhuang-bu-shu-jenkins-chi-xu-ji-cheng-huan-jing

最后编辑于:2015/9/21作者: 归根落叶

关注微信公众号 – 聚合软件测试类精华

关注微信公众号 – 聚合软件测试类精华