`

maven日记(八):使用Hudson进行持续集成

阅读更多

 

一次完整的持续集成包括下面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/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics