一次完整的持续集成包括下面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/
相关推荐
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
使用hudson和maven完成持续集成,今天一个朋友过来问我,我就顺便录了一个简短的视屏,对使用做了一个简单的介绍,最大只参上传25M的文件,所以只能分两个包上传,希望能有需要的朋友有帮助
基于Hudson的持续集成,较笔者之前的一版本增加了对Maven内容的说明,部分内容依赖具体的项目,如未描述清楚,请见谅。
通过持续集成控制代码质量 Maven+Hudson+Sonar 持续集成的基本原则很简单:尽早集成,经常集成。 持续自动构建 :使用CI,您只要按一下按钮,它会依照预先制定的时间表,或者响应某一特定事件,就开始进行一次构建...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
使用eclipse整合maven时所需要使用的配置文件;只需修改文件中的本地仓库路径即可完成整合,java初学者必选。
Hudson+Maven+SVN搭建持续集成环境
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
在<plugins></plugins>中添加 <groupId>org.apache.maven.plugins <artifactId>maven-compiler-plugin <version>3.8.1 <source>1.8 <target>1.8 </plugin>
持续集成-SVN+Maven+Hudson+Sonar PPT讲解,持续集成的原理
maven搭建项目:springmvc+hibernate
詹金斯Maven嵌入库 Jenkins插件和其他组件的库,该库允许将Maven嵌入其逻辑。 变更日志 请参阅“ 页面。 执照
Hudson+Maven+SVN_快速搭建持续集成环境.docx
开源力量公开课第4期-Maven与持续集成
集成工具hudson与maven2的Hudson 安装及配置
Hudson+Maven+SVN 搭建持续集成环境
Maven使用tomcat8-maven-plugin插件
持续集成工具hudson与maven2的结合
XJar-Maven-Plugin是对的一个Maven插件封装,实现可通过Maven命令或绑定在Maven的生命周期之中执行,从而更加便捷的方式集成了 。 GitHub: : 什么是XJar XJar是基于对JAR包内部资源的加密以及扩展ClassLoader来...