Hudson+Maven+SVN+Sonar 的持续集成 一、 持续集成简介 持续集成,简单的来说,可以称其为一个可以自动更新代码,自动打包,自动部署,自动发布(热部署)的一个集成环境,目前已经越来越适应于小团队的开发、测试、发布。 二、 持续集成的相关工具介绍 首先列出它所需的相关工具。 1、Hudson (可扩展的持续集成引擎) 2、Maven 3、SVN 4、JDK 5、Nexus (Maven 中央仓库) 6、Sonar (代码质量管理工具) 7、Tomcat (或者其他 web 容器,如 JBoss) 8、MySQL(或者其他 Sonar 支持的数据库) 以上的相关工具只有 1,2,3,4 是必须的: 1、 Hudson 是前台的一个显示,你可以看成是 View。 2、 JDK 是必须的环境。 3、 Maven 是负责操作和协调的。 4、 SVN 提供源码。 5、 Nexus 是 Maven 的一个仓库管理,也可以不用 Nexus 来管理,所以它也就不是必须的。 6、 Sonar 是代码质量保证(相当于质量保证人员)也不是必须的。 7、 Tomcat 你可以说是必须的但也可以不是,因为 Hudson 和 Sonar 内嵌一个 Jetty,可以自行启动。 8、 数据库是在使用 Sonar 的时候必须的 三、 持续集成在项目实际中的作用 1、 因为项目是 Maven 项目,且有 nexus 进行仓库的管理,故所有项目所需的依赖包可以通过 nexus 进行组内的共享,项目组中只要有一个人上网就 ok。 2、 通过此持续集成环境可以根据需要进行手动构建或者设定多个自动构建的时间,实现每日自动构建。 3、 因为在每次的构建之前都首先进行SVN 的 update 口令,所以保证了每次构建的项目代码是提交到库中的最新的代码,如下图所示。 4 、 可以非常方便直观的看到哪些用户修正了或者增加、删除了哪些文件,因此能够很好的进行每次构建的代码记录的跟踪,如下图所示。 5、 可以给 Hudson 配置安全控制机制,为每个角色分配相关的权限以及登陆口令,如下图所示。 6、 通过 Maven 的打包口令进行集成环境的打包,并可以根据需要将打好的最新的包部署到指定的 WEB 容器下进行热部署,非常方便。 7、 在 4 的基础上,可以通过方便的打包和发布进行代码的测试和发布。 8、 可以设置邮件通知的机制,可以输入一个或多个电子邮件地址[多个可用空格分隔],当 Hu dson 完成了执行作业后,将会给它们发送通知。事件触发时将产生一份 Email,包括构建失败、构建不稳定等。这样可以让您在任何时间,任何...