一次完整的持续集成包括下面6个步骤:
* 持续编译:所有正式代码提交到版本控制系统中后,持续集成服务器按一定频率检测源码控制系统,有新代码的时候就触发一次集成,服务器编译所有最新代码。
* 持续数据库集成:每次发现新的sql脚本,自动清理集成环境的数据库,重新构建表结构,并插入预备数据
* 持续测试:自动化单元测试,以及依赖于外部环境的集成测试
* 持续审查:诸如Checkstyle和PMD等工具来发现代码bad smell,生成测试覆盖率报告、Checkstyle报告、PMD报告等。
* 持续部署:自动化部署
* 持续反抗:将集成失败报告发送给这次集成相关的代码提交者,项目经理应该收到所有失败报告。
>> 首先安装Hudson
去http://hudson-ci.org/下载最新版的war包文件,目前最新版是3.0.0,在tomcat的webapp目录下先建立一个hudson文件夹,然后将war解压到这个文件夹下面。启动tomcat后即可访问了:http://localhost:8080/hudson/。或者使用命令行:jara -jar hudson.war –httpPort=8082 即可运行。
>> 开始准备Subversion仓库
首先需要安装subversion服务器软件svnserve,对于大多数linux而言,该工具已经被预先安装了。
可以通过查看:svenserve –version看一下版本
# mkdir svn-repos
# svnadmin create svn-repos/account
svnadmin用来创建、维护、检测subversion仓库,主流的linux上面基本都预装了。
接下来,将代码导入到这个仓库中:
# cd (codedir)
如果在同一台机器上可以使用file传输协议
# svn import -m "initial import" . file:///svn-repos/account/trunk
上述命令将当前目录全部内容提交到subversion仓库的/account/trunk路径下面
# 启动svnserve服务:
# svnserve -d -r svn-repos –listen-host 0.0.0.0
# svn list svn://127.0.0.1/account/trunk
至此,subversion仓库建立完毕。
>> Hudson 基本系统设置:
新版的hudson启动后默认让你安装一些插件,最好全部装上,因为基本都是很重要的东西。
然后进入主页面后,会发现有一行提示:Your container doesn't use UTF-8 to decode URLs,这个需要修改tomcat配置文件server.xml,添加URIEncoding="UTF-8"这个参数:
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" />
点击左侧导航菜单的系统管理,右边的系统设置,配置一些JDK,MAVEN_HOME等参数。
全局配置完成后,开始建立一个Hudson Job:
里面有个SCM周期轮训机制,一般都选它,设置为: */10 * * * *,表示每隔10分钟查询一次源码库,如果有更新就构建一次。
>> Hudson用户管理:
Hudson自己没有用户管理,它利用访问源码库的时候自动获取用户信息,保存起来。
现在subversion仓库的conf/svnserve.conf文件中的[general]下面:
[general] anon-access=read auth-access=write password-db=passwd
然后编辑passwd文件:
[users] admin=admin123 test=test
svn提交后,hudson会自动获取提交用户的信息。在用户管理里面,可以设置这些用户的信息,包括邮件
>> 配置hudson邮件反馈:
在每个Hudson Job里面的设置里,可以添加邮件反馈设置,详细的就不说了。。
本人博客已搬家,新地址为:http://yidao620c.github.io/