公司项目搭建规范


项目搭建规范

1. SVN说明:
u  db             ------存放各主版本的可用的数据库脚本。

u  product          ------存入打包加密发布版本,下载到本地即可用的版本,包括            

当前版本的用户手册和测试报告等文档;由测试部门管理;

u  productAlpha     ------主要存放公司内部需要测试的版本,目录结构见

SVN/productAlpha/下的目录结构。

u  project               ------存放所有项目,基于产品及独立的项目;每个项目下都包含

关于

项目的所有的信息,包括项目测试发布版本,项目开发及测试记录,以及测试分析报告;项目搭建、维护及测试发布版本由开发人员管理;

u  template               ------项目搭建模版,目前版本为R1_1_1,一般无需更改;

u  trunk                 ------主版本开发目录,由于随时都在改动,该目录下只存放公司

产品的主版本的源码,数据库脚本等附属信息都不允许存储。只有当某次升级或者是修改经过测试稳定后,需要建立源码的分支版本到Version目录下。本目录由开发人员管理;

u     project版本发布  ------在主版本测试升级时,开发人员发布每次的测试版本到此目       

录下,测试人员直接更新已经编译好的测试版本到本地进行测试即可。在开发测试期间最好保留所有的测试版本,待测试稳定后由测试人员整理该目录,只保留最新的稳定的版本去打包发布产品稳定版本到product目录下。

u  version                ------各个阶段测试稳定的版本源码,搭建项目时需要继承此目

录下的相应的版本;由开发部门管理;

u  测试资料             ------测试工作安排,测试进度,测试资料等信息;测试部门管理

目录;

u  产品文档             ------各个主版本的最新的随trunk而更新的最新的文档,随主版

本的升级而更新,最新但是不能保证最稳定;

u     工作记录        ------各部门的工作情况;

u  规范文档             ------各种规范文档;

u  升级文档             ------主版本升级文档;

u  文档_old_bak       ------整理SVN目录时,目前已没用的老的文档等;

u  序列号               ------各个版本的基于公司内部开发测试使用的产品序列号。

2. 项目初建过程
2.1 初建项目文件夹
在SVN\project下存放所有的项目,其中基于主版本开发的定制项目需要放到各个主版本的目录下。对于大型或比较特殊的项目可以直接存放于SVN\project下,但是需要有特殊说明文档。

以搭建jssj_vsestd 为例,该项目为垂直搜索引擎标准版,所以搭建该项目的目录必须为:

Svn://192.168.1.2/xdproduct/project/vse/vsestd 目录。

即Svn://192.168.1.2/xdproduct/project/vse/vsestd\Jssj_vseste\jssj_vsestd

注意:项目命名必须遵守规范。项目名_继承主版本名

2.2检出模版SVN/templet/R1_1_1
在项目名jssj_vsestd上点击右键检出项目模版。项目模版存放目录为:svn://192.168.1.2/xdproduct/templet/,目前版本是R1_1_1。 检出后的目录应该为:

Jssj_vsestd(jssj项目的主目录)

   │├jssj项目相关文档(文件夹,存放项目相关资料信息,需手动创建)

│├db(文件夹,存放项目数据库脚本,无论该脚本是否同主版本脚本,都需在此单独存放。需手动创建)

   │├Jssj_vsestd(jssj项目名)

├checkout          ——基础项目check脚本目录

│├build.xm        ——基础项目check脚本文件

│├clear.xml        ——基础项目check后清除脚本文件

├src               ——JAVA源代码

│├build.xm        ——部署脚本文件,一般无需修改

│├build.properties   ——项目初始化参数配置文件

├web              ——JSP源代码

├build.xml          ——部署调用脚本文件

└build.properties     ——项目工作环境等参数配置文件

2.3 断开初建项目与SVN的链接
检查项目后,必须将此项目与模版SVN断开,即一定要删除项目下所有的SVN信息。

2.4 修改相应的配置
完善相应的配置文件,项目初建就完成了,主要为以下两个配置文件:完善配置文件具体示例:

黄色高亮为需要修改的配置。 绿色高亮是与以前配置不同的部分:

2.4.1 Jssj_vsestd / Jssj_vsestd / build.properties的配置
文件:jssj_vsestd\ jssj_vsestd \build.properties

# 工作空间目录

workspace.dir= G:/MyWorkSpace

# WEB容器目录

container.home=G:/tomcate

# WEB实例名

webapp.name=jssj_vsestd

# svn基础信息,其中服务器地址根据实际情况进行调整

svn.user=ypp

svn.password=ypp的密码

svn.server=svn://192.168.1.2/xdproduct/version

# 总是从CVS获取相应版本最新的基础产品,取值true或false

always.checkout=true

# 项目基本信息,项目名称必须与真实项目名称一致,版本号必须保持与发布版本号一致

project.name=jssj_vsestd_V1_1_1.090703_alpha

project.version= V1_1_1.090703_alpha

# WEB容器库及部署目录,需根据所选择的WEB容器进行调整

container.lib.dir=${container.home}/common/lib

container.deploy.dir=${container.home}/webapps

# LINK项目目录及结构,以下目录结构不允许变更

link.dir=${workspace.dir}/link

link.home=${link.dir}/${project.name}

link.src.dir=${link.home}/code/src

link.web.dir=${link.home}/code/web


配置文件的配置项说明:

选项
描述
必须环节

workspace.dir
本地工作空间(如:“F:/workspace”,“/”不能为“\”)
除初建外

container.home
WEB容器目录(如:“D:\Tomcat5.5” ,“/”不能为“\”)
编译、部署

webapp.name
部署实例名(与MyEclipse的保持同名可实现自动部署功能)
部署

svn.user
Svn用户名
捡出

Svn.password
Svn密码
捡出

svn.server
Svn取得在继承SVN / version的目录
捡出

always.checkout
是否始终检出基础产品,可设置为false避免每次都要检出
捡出

project.name
项目名称,必须与实际项目名称完全一致,,

项目名定义:项目名_版本号,

例如:jssj_vsestd_V1_1_1.090703_alpha
全部

project.version
项目版本,必须与svn管理发布版本保持一致,

例如:V1_1_1.090703_alpha
全部

其他
保留,不允许更改
除初建外


上述信息中“检出”指从SVN检出基础产品,“初建”指项目刚刚新建,还未进行项目共享操作前,该配置文件中只有“project.name”和“project.version”是在项目初建后必须重新设置的,且必须设置为项目的实际内容匹配。

2.4.2 Jssj_vsestd / Jssj_vsestd / src / build.properties的配置
文件:$项目名称\code\src\build.properties

# 基础预测产品名称及版本,必须设置项

cvs.baseProduce.name=vsestd

cvs.baseProduce.tag=jssj

# 其他预测产品名称及版本,不需要引入另一基础产品时不需要设置

cvs. repository.name=


以下是code/src目录下配置文件配置项说明:

选项
描述
必须环节

svn.baseProduce.name
基础产品名称(如:“vsestd”)
全部

svn.baseProduce.tag
基础产品版本(如:“R_1_1”)
全部

svn. repository.name
其他基础产品名称,不需要时保留空,不可有空格
全部

其他
保留,不允许更改
全部


2.5 项目共享
项目共享即将已建好的项目提交到svn,具体操作步骤在此不进行详细讲解,需要可参考其他相关资料,在此要声明在提交前需要将建好的项目进行本地测试(搭建Eclipse项目实例请参考第3节项目搭建实例),能够满足项目的构建、部署等操作,并且能建立真正完整的项目方可,且在提交前要将本地信息删除再进行提交(本地信息如:工作空间路径、WEB容器路径、svn用户名、svn密码等,其他可共享值必须保留,如svn服务器地址),但要确保其他必须保留的配置信息保留提交(必须保留信息如:项目名称、基础产品名称及版本等,与项目不相关的不能上传到SVN中),确保最终提交到svn上的项目是一个“干净”的。

标准项目上传到SVN如图:


ECLIPSE有关信息不能传到SVN中。

3. 项目搭建实例
1.       在ECLIPSE工作空间新建一个文件夹,文件夹的名称为项目名称。

2.       在ECLIPSE中建相同名的项目。

3.       检查并完善相关的properties文件信息,见2.4 修改相应的配置。

4.       在ECLIPSE中运行项目根目录下的build文件,选择从基础版检出项目。例如Jssj_vsestd项目,在Eclipse中光标定位到{$Jssj_vsestd}\Jssj_vsestd\build.xml文件,在右键选择“build…”弹出对话框如图:选择“基础产品检出”,点击“确定”。

5.       完成后提示:BUILD SUCCESSFUL

6.       把更新下来的项目LINK到新建项目中

项目名右建àNewàFolderàAdvanced

选中Link to folder in the file systemà选中Browse,选择基础版捡出的项目à    完成

7.       把基础版捡出的项目够建到项目中。

项目名右建àPropertiesàJava Build PathàSourceàFolderà将基础版中src选中导入。再选中Libraries导入JAR文件,

项目就搭建完成了

8.       运行ECLIPSE的根目录下的build文件,选择部署项目。


注意:这种项目编译后,必须通过发布项目才能正常使用。

4. 完善项目资料
根据不同的项目需要建立以下的文件夹存放项目有关的资料,

具体信息可以参考svn/project/ProjectDemo1_readme.txt 和svn/project/ProjectDemo1 .

猜你喜欢

转载自lvpei.iteye.com/blog/605699