`

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/

分享到:
评论

相关推荐

    Maven更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...

    使用Hudson进行持续集成.doc

    **使用Hudson进行持续集成** Hudson是一款开源的持续集成工具,它可以帮助开发团队自动执行构建、测试和部署等任务,以确保软件项目的质量和稳定性。本文将详细介绍如何使用Hudson进行持续集成,主要涵盖以下几个...

    HUDSON持续集成MAVEN项目

    【HUDSON持续集成MAVEN项目】是一个关于使用HUDSON(也称为Jenkins)进行Maven项目的持续集成实践的教程。持续集成是软件开发过程中的重要环节,它通过频繁地将开发人员的代码更改合并到主分支来减少集成问题,提高...

    使用Hudson进行持续集成资料总结

    通过阅读"使用Hudson进行持续集成.chm"这个文件,你可以更详细地了解Hudson的使用方法、常见问题及最佳实践。这份资料可能涵盖了安装教程、插件介绍、故障排查指南等内容,对于初学者和有经验的用户来说都是宝贵的...

    使用Hudson持续集成 ppt

    ### 使用Hudson持续集成知识点详解 #### 一、持续集成概念与价值 - **定义**:持续集成(Continuous Integration, CI)是一种软件开发实践,开发者经常将代码提交到共享存储库,每次提交后都会自动构建并进行自动...

    hudson和maven完成持续集成

    使用hudson和maven完成持续集成,今天一个朋友过来问我,我就顺便录了一个简短的视屏,对使用做了一个简单的介绍,最大只参上传25M的文件,所以只能分两个包上传,希望能有需要的朋友有帮助

    Maven使用tomcat8-maven-plugin插件.docx

    Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-plugin 来实现 Maven 项目与 Tomcat 服务器的集成。下面我们将详细介绍如何使用 tomcat8-maven-plugin 插件。 tomcat8-maven-plugin 插件的...

    Hudson_CI:PHP持续集成

    2. **Hudson**:Hudson是由Sun Microsystems开发的开源持续集成工具,后来成为Oracle的一个项目。它提供了一个友好的Web界面,用于配置和管理构建任务,支持多种版本控制系统,如Git、SVN等,并可以与其他工具(如...

    集成工具hudson与maven2的Hudson 安装及配置.docx

    Maven的使用使得项目依赖管理和构建过程标准化,与Hudson的集成进一步增强了持续集成的效率和可靠性。 Hudson的插件机制是其强大之处,允许扩展各种功能,如FindBugs、代码覆盖率报告、测试结果趋势分析等。通过...

    使用Hudson持续集成.pptx

    通过持续集成控制代码质量 Maven+Hudson+Sonar 持续集成的基本原则很简单:尽早集成,经常集成。 持续自动构建 :使用CI,您只要按一下按钮,它会依照预先制定的时间表,或者响应某一特定事件,就开始进行一次构建...

    Maven报错: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources

    idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...

    持续集成篇--Hudson持续集成服务器的安装配置和使用.pdf

    2. **快速反馈**:Hudson应能快速完成构建和测试,以便开发者能及时获得结果并进行修复。 3. **监控与报警**:设置邮件通知或其他报警机制,当构建失败时,团队成员能立即得知。 4. **自动化一切**:尽可能自动化...

    maven 配置文件:settings.xml详解版,只需修改本地仓库路径即可使用

    使用eclipse整合maven时所需要使用的配置文件;只需修改文件中的本地仓库路径即可完成整合,java初学者必选。

    lib-jenkins-maven-embedder:Jenkins Hudson-Maven嵌入式库

    **正文** `lib-jenkins-maven-embedder`是一个针对Jenkins和Hudson的Maven嵌入式库,主要用于在...通过使用这个库,开发者可以更加便捷地在Jenkins环境中执行Maven构建,确保项目的持续集成和部署流程顺利进行。

    持续集成篇-Hudson持续集成服务器的安装配置和使用.docx

    持续集成篇-Hudson 持续集成服务器的安装配置和使用 Hudson 是一个开源的持续集成服务器,主要用于自动化构建、测试和部署软件项目。下面是 Hudson 持续集成服务器的安装配置和使用过程: 一、环境准备 在 Centos...

    许晓斌:Maven与持续集成

    ### Maven与持续集成 #### 开源力量公开课第四期——Maven与持续集成 在开源力量公开课的第四期讲座中,讲师许晓斌分享了关于Maven及其与持续集成结合的相关知识。这一期讲座主要探讨了如何利用Maven来提高软件...

Global site tag (gtag.js) - Google Analytics