研发体系讨论_第1页
研发体系讨论_第2页
研发体系讨论_第3页
研发体系讨论_第4页
研发体系讨论_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、研发体系讨论基于组件的研发体系Maven组件及产品版本管理Nexus仓库管理Hudson持续集成Junit单元测试体系【】ASN1讲解【】规范好公司后续产品的研发体系整理好公司服务器产品的公共组件国富安PKITool(PKCS封装)、国富安P11组件服务管理框架、WebServices组件公共日志组件、通信组件SAML组件、证书验证组件整理好公司产品研发的管理机制产品版本如何管理?使用第三方依赖组件如果管理?是否有公司的组件管理库?产品是如果生产的?研发内部单元测试是如何完成的?产品的全用例测试是如何完成的?架构架构=组件、连接件、约束组件组件可以是一组代码、也可以是独立的程序。连接件过程调用

2、、管道、消息等。用于组件之间的联系。约束组件连接时的条件。各个版本的组件如何管理?公司的公共组件如何使用?组件之间的关系如何管理?如果统一装配组件?概念模型 Maven 维护了一个项目的模型,你不仅仅需要把源码编译成字节码,你还需要开发软件项目的描述信息,为项目指定一组唯一的坐标。你要描述项目的的属性。项目的许可 证是什么?谁开发这个项目,为这个项目做贡献?这个项目依赖于其它什么项目没有?Maven不仅仅是一个“构建工具”,它不仅仅是在类似于 make 和 Ant 的工具的基础上的改进,它是包含了一组关于软件项目和软件开发的语义规则的平台。构建项目(Builds)文档编制(Documentat

3、ion)报告(Reporting)依赖管理(Dependencies)配置管理(SCMs)发布管理(Releases)Maven2的目标 使项目构建构成更容易; 提供统一构建系统; 提供高质量的项目信息; 提供开发的最佳实践指南; 能无缝的加入新的特性;对Maven2的错误认识 Maven2是一个站点和文档制作工具; Maven2扩展了Ant,使其可以下载到各种依赖包; Maven2是一系列可以重用的Ant脚本;Maven2可以构建哪些类型的项目:EARWARJARZIPEJB自定义格式说明:说明:EJBEJB项目项目=JAR=JAR项目项目src/main/java Application/

4、Library sources src/main/resources Application/Library resources 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 Te

5、st resource filter files src/site Site LICENSE.txt Projects license README.txt Projects readme 所有项目的构建必须遵从标准目录结构;使所有使用Maven2管理的项目从目录上看都是一样的;便于管理,便于协作;遵从业界统一标准,有助于团队管理;开发人员不需要关注pom.xml中的内容;项目构建和管理人员需要编写pom.xml中的内容;配置项目之间的依赖关系;配置项目所需要使用的插件信息:如ejb,javadoc等等;junitjunit3.8.1test配置人员需要考虑使用什么JAR包?版本号使多少?所在

6、生命周期是什么?自己先在本地将自己创建的项目创建成为EclipseIDE支持的项目(此过程将激活Maven2到本地资源库中查找依赖,如果依赖不存在则从网上的资源库下载,并放置到本地);项目构建完成之后将下载到新的依赖项目放到本地服务器上;将原Maven2构建成功的项目(不包含Eclipse特有文件:project,classpath文件)放到CVS上;自己从CVS上下载项目,在本地使用mvn eclipse:eclipse命令,创建成EclipseIDE项目;不允许将EclipseIDE项目中特有文件传入CVS之上;每个开发人员在本地自行维护一份log4j配置文件(放在srctestresou

7、rces之下),此文件不允许打包,不允许传入CVS之上;Maven创建ca-parent项目创建CA的各个子模块项目将子模板的jar包发布到Nexus服务器【后面会讲解Nexus】将代码使用CVS管理项目版本.- 例如:版本“1.3.5”由一个主版本1,一个次版本3,和一个增量版本5限定版本用来标识里程碑构建:alpha和beta发布例如:版本“1.3-beta-01”有一个主版本1,次版本3,和一个限定版本“beta-01”。SNAPSHOT版本 Maven版本可以包含一个字符串字面量来表示项目正处于活动的开发状态。LATEST 和 RELEASE 版本仓库管理器有两个服务目的:首先它的角色

8、是一个高度可配置的介于你的组织与公开Maven仓库之间的代理。其次它为你的组织提供了一个可部署你组织内部生成的构件的地方。代理远程仓库。配置Nexus代理中央仓库,其它任何公开的Maven仓库,将你组织内部的Maven配置指向Nexus,这样所有构件都将从Nexus下载,如果Nexus没有你要的构件,它会自动先去外部仓库下载到本地,仅一次。本地宿主仓库。Nexus可以在服务器上建立本地的宿主仓库,你可以往这个仓库里提交任意的Maven规范构件,包括不能从公开仓库下载到的构件,或者你组织内部产生的构件。仓库组。有了仓库组,你就能将很多仓库聚合起来,对外公开一个统一的接口提供构件服务。构件搜索。N

9、exus能下载远程的仓库索引,并在本地构件自己的仓库索引,有了该索引,你就能很快速方便的搜索任何你感兴趣的构件。事情RSS源。Nexus服务器上发生的几乎任何事情,你都能用RSS监视,方便管理。Release和Snapshots区分。配置Nexus提供Release构件服务或者Snapshots服务,能更清晰的管理构件。路由。Nexus的路由能够管理为特定的请求提供特定的仓库。加入你在一个组中配置了很多仓库,一条路由能够极大提高某些特定请求的响应速度。上传构件。使用Nexus你能很方便的在web界面上上传一些特殊的构件至仓库。高用户体验的UI。使用AJAX和REST技术开发的Nexus,在界面

10、上为提供了很舒适的用户体验。演示仓库的管理创建自己的仓库将jar包发布自己创建的仓库使用自己发布到自己仓库的jar包持续集成介绍 持续集成已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。Hudson帮助您的开发团队应对如下挑战:软件构建自动化构建可持续的自动化检查构建可持续的自动化测试生成后后续过程的自动化软件构建自动化 使用CI,您只要按一下按钮,它会依照预先制定的时间表,或者针对某一特定事件,就开始对目标软件进行一次构建过程。想想吧,尤其您从头到尾构建一个构件的时候,这个构建过程应该不会是局限于某一特定IDE、电脑或者个人的。CI:Continue Integration构建可持续的自动化检查 CI系统能够设定成持续地执行新增或修改后签入的源代码,也就是说,当软件开发 团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力(说直接一点也是钱啊,呵呵)。构建可持续的自动化测试 一个构建检查的扩展部分,这个过程确保当新增或修改代码时不会导致预先制定的一套测试在构建构件后失败。构建检查和测试一样,失败都会触发通知单(Em

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论