Centos 6.3 x86_64配置hudson3.01
一,介绍:
1,Hudson 是一个可扩展的持续集成引擎。
主要用于:
(1)持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
(2)监控一些定时执行的任务。
2,Hudson拥有的特性包括:
(1)易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。
(2)易于配置-所有配置都是通过其提供的web界面实现。
(3)集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。
(4)生成JUnit/TestNG测试报告。
(5)分布式构建支持-Hudson能够让多台计算机一起构建/测试。
(6)文件识别- Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
(7)插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。
二,安装tomcat与jdk,注意jkd与tomcat的版本,如果tomcat版本太低,新版的hudson安装会出错。hudson 3.0要用7.0版本的jdk,hudson2.0用6.0版本的jdk。
[root@master ~]# rpm -vih jdk-7u25-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
[root@master ~]# cd /usr/java/
[root@master java]# ls
default jdk1.7.0_25 latest
[root@master java]# ln -s jdk1.7.0_25/ jdk
[root@master java]# . /etc/profile
[root@master ~]# tar xf apache-tomcat-7.0.29.tar.gz -C /usr/local/
[root@master ~]# cd /usr/local/
[root@master local]# ln -s apache-tomcat-7.0.29/ tomcat
三,配置hudson
[root@master ~]# cp hudson-3.0.1.war /usr/local/tomcat/webapps/
[root@master ~]# /usr/local/tomcat/bin/catalina.sh start
打开浏览器:hudson有三个部分组成,
1,Core Compatibility Plugins(核心兼容插件):这个必须选择,下面两个可以不选,根据需要来选择。
2,Featured Plugins(特色插件)
3,Recommended Plugins(推荐插件)
点最下面的install
没提示出错点finish,出现下面的你界面。
装完之后,在当前用户用会生成.hudson的 隐藏目录和/usr/local/tomca/hudson两个目录。
三,hudson里新建作业:
1,新建任务
2,设置svn,和登录svn的用户与密码
3,设置定时编译,跟linux的cron一样,代表分,时,天,月,周,如果不需要可以不勾
4,设置编译,分别表示执行脚本和调用maven
deploy.sh需要根据环境自己编写,maven根据开发的pom.xml文件来设置。
5,设置邮件通知,其实也可以不设置,这里略过
四,编译的脚本文件
1,deploy.sh脚本
#!/bin/sh
tom=tomcat7-pongo
pro=yz-pongo-web
#remote server
host="ssh summba-dev5"
webbase=/home/summba/server/$tom/webapps
local () {
ps -ef |grep $tom |grep -v grep |awk '{print $2}' |xargs kill -9 &> /dev/null
rm -rf $webbase/$pro
rm -rf /home/summba/.hudson/jobs/$pro/workspace/target/$pro*.war
cp -R /home/summba/.hudson/jobs/$pro/workspace/target/$pro* $webbase/$pro
cp $HBASE_HOME/conf/hbase-site.xml $webbase/$pro/WEB-INF/classes
sleep 30
sh /home/summba/autodeploy/$pro/starttomcat.sh
}
remote () {
$host "ps -ef |grep $tom |grep -v grep |awk '{print $2}' |xargs kill -9 &> /dev/null"
$host "rm -rf $webbase/$pro"
scp -r $webbase/$pro summba-dev5:$webbase/$pro
scp $HBASE_HOME/conf/hbase-site.xml $webbase/$pro/WEB-INF/classes
sleep 60
$host "sh /home/summba/server/$tom/bin/startup.sh"
echo "please a wait ,is starting"
sleep 60
}
local
#remote
2,starttomcat的脚本,最主要是dotKillMe,不然可以将两个脚本合起来。
#!/bin/sh
export BUILD_ID=dontKillMe
sh /home/summba/server/tomcat7-pongo/bin/startup.sh
echo `pwd`
echo "starting"
sleep 100
~
到此结束