Hudson配置手册.docx
《Hudson配置手册.docx》由会员分享,可在线阅读,更多相关《Hudson配置手册.docx(16页珍藏版)》请在冰豆网上搜索。
Hudson配置手册
Hudson配置手册
1.Hudson简介
1.1.目标
Hudson是一个可扩展的持续集成引擎。
目前最新版本为3.0。
主要用于:
●持续、自动地构建/测试软件项目。
●监控一些定时执行的任务。
1.2.特性
●易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。
●易于配置-所有配置都是通过其提供的web界面实现。
●集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。
●生成JUnit/TestNG测试报告。
●分布式构建支持-Hudson能够让多台计算机一起构建/测试。
●文件识别-Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
●插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。
2.安装与配置
2.1.服务器环境
CentOS5.7
JDK1.6
Tomcat7
IP:
192.168.1.11
2.2.安装
1假设服务器上已经安装好了Tomcat7,安装目录为/home/base/server/tomcat7;
从http:
//eclipse.org/hudson/download.php下载Hudson最新版(此文测试用的是3.0.0-M1版);设置环境变量HUDSON_HOME=/home/base/system/hudson3/,此目录用户存放Hudson的服务器配置信息和各个项目构建所产生的文件等,也可以不设置,则使用默认目录。
2将hudson.war复制到tomcat7的webapps目录下;重新启动tomcat7,客户端访问http:
//192.168.1.11:
8080/hudson/即可进入系统。
如图:
2.3.设置系统属性
点击主页左侧的“系统管理”,再点击右侧的“系统设置”,即可打开系统设置页面;进行以下设置:
1启用安全
如果需要为系统加入用户和权限控制,则需要在“启用安全”前面打上勾;安全域选择“Hudson专有用户数据库”,授权策略选择“项目矩阵授权策略”;在“添加用户/组:
”后面的输入框中输入admin,再点击添加按钮,即可在授权矩阵中创建一个名为admin的用户,将授权矩阵中admin的所有权限打勾;如图:
这里设置的管理员用户名为admin,在稍后配置完成,点击“SAVE”按钮后会弹出创建用户的页面,此时需要注册一个同名的用户才能使用它登录,如下图:
2配置JDK
配置构建项目需要用到的多个jdk版本;
在配置页面中点击“新增JDK”按钮,可以增加一个JDK配置;如图:
3配置MAVEN
4配置远程SSH主机
如果构建项目过程中需要登录其他服务器进行远程操作,比如备份,上传和重启服务器等,可以设置SSH登录信息,如图:
5邮件通知
如果需要使用系统发送通知邮件,还需要进行邮件通知的设置;比如可以按如下设置gmail邮箱:
2.4.任务
每个需要构建的项目在Hudson中都称为一个任务,进入系统后点击主界面左边的“新建任务”即可创建一个新任务。
1创建任务
注:
即使是基于maven2/3的项目,在创建任务时也建议选择“构建一个自由风格软件项目”,在后续的配置页面中再选择maven配置信息;Hudson文档中也不建议使用“构建一个Maven2/3(Legacy)项目”:
Warning
YourHudsoninstallationmayprovideanoptiontoBuildaMaven2/3project(Legacy).ThisfeaturehasnumerousissueswiththeuseofdifferentMavenversions,anditisespeciallyproblematicwhenbuildingaprojectwithMaven3.TheauthorsofthisbookrecommendnottousingthelegacyMavenprojecttype.Instead,weencourageyoutousethenativeMavensupportwhichisavailableinafree-stylesoftwareproject.
2配置任务
点击“OK”后即可打开任务配置页面;
首先,配置项目的Subversion信息:
在第一次配置Subversion信息时,因为没有访问svn服务器的权限,会出现“Unabletoaccess”的提示,如图所示;此时,需要点击“entercredential”链接来输入svn的用户名/密码:
点击“OK”后关闭这个窗口,再配置maven信息:
下拉“Addbuildstep”菜单,根据你项目的maven版本进行选择。
比如我这里选择“InvokeMaven3”
Properties输入框中可以输入maven的构建参数。
3配置权限
如果需要在任务中配置权限,首先需要在系统设置页面中启用安全。
在任务设置页面中针对项目进行权限设置:
注:
在这里添加的用户,还需要再注册一个同名的用户才能使用这个权限配置。
3.构建
3.1.手动构建
在系统主界面列出了当前用户有权限看到的所有任务,如图:
选择某个任务,点击
按钮,即可开始构建。
构建时点击Console图标
可以查看实时的构建信息。
3.2.自动构建
在任务配置页面中,我们可以看到“BuildTriggers”项下有两个构建选项“Buildperiodically”和“PollSCM”,如图:
其中:
●Buildperiodically是指每隔一个固定的期限便进行一次构建,这个时间间隔用cron表达式配置到其下的Schedule输入框中;
●PollSCM是指每隔一个固定的期限去查询源代码管理系统(如SVN),如果有更新便进行一次构建,这个时间间隔用cron表达式配置到其下的Schedule输入框中;
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~71=SUN或SUN,MON,TUE,WED,THU,FRI,SAT)
年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。
由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?
.
一些cron表达式示例:
0010,14,16**?
每天上午10点,下午2点,4点
00/309-17**?
朝九晚五工作时间内每半小时
0012?
*WED表示每个星期三中午12点
0012**?
每天中午12点触发
01510?
**每天上午10:
15触发
01510**?
每天上午10:
15触发
01510**?
*每天上午10:
15触发
01510**?
20052005年的每天上午10:
15触发
0*14**?
在每天下午2点到下午2:
59期间的每1分钟触发
00/514**?
在每天下午2点到下午2:
55期间的每5分钟触发
00/514,18**?
在每天下午2点到2:
55期间和下午6点到6:
55期间的每5分钟触发
00-514**?
在每天下午2点到下午2:
05期间的每1分钟触发
010,4414?
3WED每年三月的星期三的下午2:
10和2:
44触发
01510?
*MON-FRI周一至周五的上午10:
15触发
0151015*?
每月15日上午10:
15触发
01510L*?
每月最后一日的上午10:
15触发
01510?
*6L每月的最后一个星期五上午10:
15触发
01510?
*6#3每月的第三个星期五上午10:
15触发
4.部署
4.1.WAR
1使用脚本部署
注:
下面的步骤需要先安装ssh插件,具体方法可以参见后面的“插件”章节。
对WEB应用,Hudson构建完毕,会在HUDSON_HOME/jobs/JOB_NAME/workspace/target/下产生一个JOB_NAME-1.0.war的可部署文件,如果要把这个war文件部署到tomcat下,并且重新启动tomcat,可以在部署了tomcat的服务器上编写一个脚本,再在任务配置页面里面的“BuildEnvironment”项下勾选“Executeshellscriptonremotehostusingssh”,在“Postbuildscript”中填写需要执行的脚本(此脚本中执行备份、war文件的下载和tomcat重启任务)。
脚本内容示例:
2使用插件部署
另外,还可通过Hudson的插件“DeployPlugin”来完成部署任务,此插件可将war包部署到以下服务器:
●Tomcat4.x/5.x/6.x/7.x
●JBoss3.x/4.x/5.x/6.x
●Glassfish2.x/3.x
更多信息可参考主页:
http:
//wiki.hudson-ci.org/display/HUDSON/Deploy+Plugin
4.2.JAR
5.插件
5.1.SSH插件
1下载安装文件
Hudson的SSh插件可以实现定义多个ssh服务器并在构建前/后自动登录,然后执行服务器上的脚本。
Ssh插件的主页是http:
//wiki.hudson-ci.org/display/HUDSON/SSH+plugin;
我测试用的下载地址是http:
//hudson-ci.org/download/plugins/ssh/1.1/ssh.hpi
注:
安装插件也可以直接从“可选插件”选项卡中勾选你要安装的插件,然后点击“安装”按钮。
然后等Hudson自动从网上下载安装,如下图,但是可能碰到网络问题导致安装不成功,因此我这里没有采用这种方法。
2安装插件
下载好后点击“系统管理”,再打开“管理插件”页面,可见到如下图所示的页面,在“高级”选项卡中找到“上传插件”部分,找到你刚才下载的插件上传即可。
3重新启动hudson服务器
用这种方法安装的插件需要重启hudson服务器。
重启后可以见到ssh插件为hudson新增的功能,如图: