HUDSONMAVENSONAR集成开发体系介绍

上传人:平*** 文档编号:46193981 上传时间:2018-06-23 格式:PPTX 页数:73 大小:2.40MB
返回 下载 相关 举报
HUDSONMAVENSONAR集成开发体系介绍_第1页
第1页 / 共73页
HUDSONMAVENSONAR集成开发体系介绍_第2页
第2页 / 共73页
HUDSONMAVENSONAR集成开发体系介绍_第3页
第3页 / 共73页
HUDSONMAVENSONAR集成开发体系介绍_第4页
第4页 / 共73页
HUDSONMAVENSONAR集成开发体系介绍_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《HUDSONMAVENSONAR集成开发体系介绍》由会员分享,可在线阅读,更多相关《HUDSONMAVENSONAR集成开发体系介绍(73页珍藏版)》请在金锄头文库上搜索。

1、HUDSON+MAVEN+SONAR 集成开发体系介绍杭州天丽科技 吴华锋 2012.11.1培训目标培训目标了解HUDSON+MAVEN+SONAR整体集成开发环境学习项目构建管理工具MAVEN及私服仓库NEXUS的相关知识和使用方法。学习持续集成的思想及持续集成工具HUDSON的使用方法。学习代码质量分析工具SONAR的使用方法HUDSON+MAVEN+SONARHUDSON+MAVEN+SONAR开发体系结构开发体系结构什么是什么是MavenMavenMaven是基于项目对象模型(Project Object Model),可以通过 一小段描述信息来管理项目的构建,报告和文档的软件项目管

2、理工 具.A build toolA documentation toolA dependency management toolMavenMaven引入引入概念模型Maven 维护 了一个项目的模型,你不仅仅 需要把源码编译 成字节码 ,你还需要开发软 件项目的描述信息,为项 目指定一组唯一的坐标。你要描述项目的的属性。项目的许可证是什么?谁开发这个项目,为这 个项目做贡献?这个项目依赖于其它什么项目没有?Maven不仅仅 是一个“构建工具”,它不仅仅 是在类似于 make 和 Ant 的工具的基础上的改进,它是包含了一组关于软件项目和软件开发的语义规则 的平台。MavenMaven主要功能

3、主要功能构建项目(Builds)文档编制(Documentation)报告(Reporting)依赖管理(Dependencies)配置管理(SCMs)发布管理(Releases)了解了解MavenMavenMaven监管项目生命周期MavenMaven如何工作如何工作构建项目构建项目Maven可以构建哪些类型的项目:EARWARJARZIPEJB自定义格式说明:EJB项目=JAR项目MavenMaven目录结构目录结构src/main/java Application/Library sources src/main/resources Application/Library resourc

4、es src/main/filters Resource filter files src/main/assembly Assembly descriptors src/main/config Configuration files src/main/webapps Web application sources src/test/java Test sources src/test/resources Test resources src/test/filters Test resource filter files src/site Site LICENSE.txt Projects li

5、cense README.txt Projects readme 使用标准目录的好处使用标准目录的好处所有项目的构建必须遵从标准目录结构;使所有使用Maven管理的项目从目录上看都是一样 的;便于管理,便于协作;遵从业界统一标准,有助于团队管理;pom.xmlpom.xml的介绍的介绍开发人员不需要关注pom.xml中的内容;项目构建和管理人员需要编写pom.xml中的内容;配置项目之间的依赖关系;配置项目所需要使用的插件信息:如ejb,javadoc等等 ;如何配置一个依赖关系如何配置一个依赖关系junit junit 3.8.1 test配置人员需要考虑使用什么JAR包?版本号使多少?所在

6、生命周期是什么?给项目配置人员的建议给项目配置人员的建议自己先在本地将自己创建的项目创建成为Eclipse支持的Maven项目(此过程将激活Maven到本地资源库中查找依赖,如果依赖不存在则从网上的资源库下载,并放置到本地);项目构建完成之后将下载到新的依赖项目放到本地服务器上;将Maven构建成功的项目放到CVS上;给开发人员的建议给开发人员的建议自己从CVS上下载项目右击pom.xml,运行mvn test,检查能否正确完成 测试。多模块企业级项目多模块企业级项目项目版本管理项目版本管理项目版本 .- 例如:版本“1.3.5”由一个主版本1,一个次版本3,和一个增量版本5限定版本用来标识里

7、程碑构建:alpha和beta发布 例如:版本“1.3-beta-01”有一个主版本1,次版本3,和一个限定版本 “beta-01”。SNAPSHOT版本 Maven版本可以包含一个字符串字面量来表示项目正处于活动的开发状态。LATEST 和 RELEASE 版本项目版本管理项目版本管理仓库管理器仓库管理器仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理。其次它为你的组织提供了一个可部署你组织内部生成的构件的地方。MavenMaven仓库(一)仓库(一)Maven仓库就是放置所有JAR文件(WAR, ZIP,POM等等)的地方,所有Maven项

8、目可以从同一 个Maven仓库中获取自己所需要的依赖JAR。本地仓库远程仓库Plugin e.g. jarPlugin e.g. releasePlugin e.g. surefireProjectsMaven CoreMavenMaven仓库(二)仓库(二)Maven仓库的种类Maven仓库远程仓库本地仓库中央仓库私服其他公共库MavenMaven仓库(三)仓库(三)中央仓库:包含了世界上大多数流行的开源Java构件。http:/repo1.maven.org/maven2/MavenMaven仓库(四)仓库(四)私服:一种特殊的远程仓库 ,它是架设在局 域网内的仓库 服务,私服代理广域网上

9、的远 程仓库 ,供局域网内的Maven用户使用。 http:/10.10.10.238:8082/nexus私服的好处:节省自己的外网带宽加速Maven构建部署第三方构件提高稳定性,增强控制降低中央仓库 的负荷NexusNexus的特性的特性代理远程仓库。配置Nexus代理中央仓库,其它 任何公开的Maven仓库,将你组织内部的Maven 配置指向Nexus,这样所有构件都将从Nexus下 载,如果Nexus没有你要的构件,它会自动先去 外部仓库下载到本地,仅一次。本地宿主仓库。Nexus可以在服务器上建立本地 的宿主仓库,你可以往这个仓库里提交任意的 Maven规范构件,包括不能从公开仓库下

10、载到的 构件,或者你组织内部产生的构件。NexusNexus的特性的特性仓库组。有了仓库组,你就能将很多仓库聚合 起来,对外公开一个统一的接口提供构件服务 。构件搜索。Nexus能下载远程的仓库索引,并在 本地构件自己的仓库索引,有了该索引,你就 能很快速方便的搜索任何你感兴趣的构件。事情RSS源。Nexus服务器上发生的几乎任何事 情,你都能用RSS监视,方便管理。NexusNexus的特性的特性Release和Snapshots区分。配置Nexus提供 Release构件服务或者Snapshots服务,能更清 晰的管理构件。路由。Nexus的路由能够管理为特定的请求提供 特定的仓库。加入你

11、在一个组中配置了很多仓 库,一条路由能够极大提高某些特定请求的响 应速度。NexusNexus的特性的特性上传构件。使用Nexus你能很方便的在web界面 上上传一些特殊的构件至仓库。高用户体验的UI。使用AJAX和REST技术开发的 Nexus,在界面上为提供了很舒适的用户体验。演示:利用演示:利用NEXUSNEXUS搜索并添加搜索并添加JARJAR包包1、打开http:/10.10.10.238:8082/nexus2、搜索你需要用到的JAR类名,比如: powermock3、在结果中选择你要添加的JAR及版本4、拷贝XML描述信息到POM.XML中5、完成对JAR包的添加引用演示:向演示

12、:向NEXUSNEXUS发布构件发布构件1、在要发布的项目的POM.xml中增加 distributionManagement配置信息2、在settings.xml中配置构件部署账户密码3、右击项目的POM.XML,运行 mvn deploy 即 可自动发布到NEXUS的release或snapshots库 中。HudsonHudson持续集成持续集成持续集成介绍持续集成已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。HudsonHudson持续集成持续集成Hudson帮助您的开发团队应对如下挑战:软件构建自动化构建可持续的自动化检查构建可持续的自动化测试生成后

13、后续过程的自动化HudsonHudson持续集成持续集成软件构建自动化使用CI,您只要按一下按钮,它会依照预先制定的时间表,或者针对某一特定事件,就开始对目标软件进行一次构建过程。想想吧,尤其您从头到尾构建一个构件的时候,这个构建过程应该不会是局限于某一特定IDE、电脑或者个人的。CI:Continue IntegrationHudsonHudson持续集成持续集成构建可持续的自动化检查CI系统能够设定成持续地执行新增或修改后签入的源代码,也就是说,当软件开发 团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存

14、的代码中变化情况需要花费的时间和精力(说直接一点也是钱啊,呵呵)。HudsonHudson持续集成持续集成构建可持续的自动化测试一个构建检查的扩展部分,这个过程确保当新增或修改代码时不会导致预先制定的一套测试在构建构件后失败。构建检查和测试一样,失败都会触发通知单(Email,RSS等等)给相关的当事人,告知对方一次构建或者一些测试失败了。HudsonHudson持续集成持续集成生成后后续过程的自动化一旦自动化检查和测试的构建已经完成,一个软件构件的构建周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。CICI系统

15、基本结构系统基本结构HudsonHudson演示演示演示Hudson的基本功能Hudson+maven+sonar+cvsHudson+maven+sonar+cvs集成安装集成安装软件准备:JDK、Hudson、Maven、Sonar、Mysql、 TortoiseCVS 、Tomcat 、Sonar.hpi(Hudson插件)软件安装部署Hudson、Maven、Sonar、Mysql、JDK、Tomcat、TortoiseCVS Hudson+maven+sonar+cvsHudson+maven+sonar+cvs集成安装集成安装相关配置 环境变量: JAVA_HOME,M2_HOME

16、,HUDSON_HOME文件配置:settings.xml(maven) sonar.properties(sonar)创建数据库用户:sonar/sonar(赋所有权限)Sonar.hpi插件Hudson+maven+sonar+cvsHudson+maven+sonar+cvs集成安装集成安装部署Hudson、Sonar正确配置前面的操作,将Hudson.war和Sonar.war文件放入Tomcat的webapps目录下,启动Tomcat。Hudson配置HudsonHudson全局配置全局配置需要配置的基本属性:JDKMavenCVSSonar邮件通知HudsonHudson项目配置项目配置需要配置的基本属性: Source Code Management:设置源码cvs下载 Build Triggers:定期构建(Build periodically)(可选)* * * * *代表 分 时 天

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号