`

公司项目搭建规范

阅读更多

项目搭建规范

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 .
分享到:
评论

相关推荐

    公司项目管理制度

    1.1 为更好的整合与规范使用公司内外部资源,提升工作输出效率及质量。 1.2 搭建开放性、激励性企业创新平台,提升公司市场竞争力。 1.3 激发员工积极性、主动性与创造性,实现员工与公司的共同发展。 2. 原则 2.1 ...

    公司内部MVC开发规范(SSH三层框架整合项目开发)

    ssh三层框架整合项目开发 MVC开发规范(SSH),包括: 一、 开发环境搭建规范 二、 开发习惯规范 三、 数据表以及字段命名

    MYCRM系统使用规范

    为促进公司的发展,集中管理公司客户资源,提高人员工作效率,将公司管理水平全面上一个...为使此项目达到预期实施效果,解决工作中的实际问题,公司要求所有应用此系统的各个岗位人员要积极参与全面执行本规范的相关要求.

    某公司企业网搭建分析与设计.zip

    2.1.2 规范性 4 2.1.3 可行性 4 2.1.4 统一性 4 2.2建设目标 5 2.3建设内容 5 3、项目方案拓扑结构设计 6 3.1有线网络设计 6 3.2无线网络设计 7 3.3无线网络对接设计 8 3.4网络安全保障设计 8 4、方案实现步骤及设备...

    软件项目投标技术标书模板(共133页).doc

    第一部分 评标响应导读 1 第1章 项目名称 2 第2章 技术响应、评审评分应答导读表 3 2.1 技术响应导读表 3 2.2 评审评分应答导读表 4 第二部分 技术解决方案 6 第1章 项目描述 6 ...4.8 搭建部署框架设计 13

    搭建tomcat服务器.doc

    安装tomcat之前必须先安装jdk) Tomcat全攻略 一:简介 tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度 最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方...

    智慧服务项目实施计划

    平台技术框架的搭建 UI设计 Android版本APP的开发 IOS版本APP的开发 电商平台的开发 物流APPs的开发 汽车服务APPs的开发 物业报修APPs的开发 版本的发布计划 平台的运营调优 系统测试 平台运营 智慧小区的选址及...

    Redis集群教程和集群规范.zip

    内容概要:Redis集群教程文档和Redis集群规范文档。 适用人群:有Redis单机部署经验,对...对于提高公司,工厂,电商等大型项目的并发及响应有很好的效果。 其他说明:请严格按照说明文档操作。做好数据备份等工作。

    金蝶助重庆有线搭建企业资金管理平台

    重庆有线通过金蝶EAS,规范财务基础管理,并进一步实施应用预算管理、协同平台模块,进行集团财务管理控制系统应用,逐渐推动集团财务管理从核算型向管理型转变。清晰了公司财务管理方向,有助于公司有效开展财务...

    基于spring boot搭建的web基础框架.zip

    包含了web开发中常用的功能,如:缓存(redis)、日志、事务、JPA、shiro、安全、常用工具类、swagger2在线接口文档、跨域支持等,可以基于该项目快速进行公司内部的项目开发。 开发工具在软件开发生命周期中扮演...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第3章

    本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识...

    java源码期末大作业基于ssm的城投公司企业人事管理系统设计与实现+vue(源码+说明文档+lw).rar

    基于SSM框架的城投公司企业人事管理系统是一个旨在提供人事招聘、员工管理、考核评价等功能的项目。结合了后端的SSM(Spring+Spring MVC+MyBatis)框架和前端的Vue.js技术,该系统实现了企业人事管理的各项功能,为...

    TCNOpen开源源码实现TRDP通信,包括源码下载,开发环境搭建,编译运行,测试

    对于每个需求,将启动一个特定的开源项目,该项目将贯穿所有需要的阶段:规范、开发、测试、支持。 第一个项目目前正在进行中,与开发的TRDP模块有关。 TRDP(列车实时数据协议)是TCP或UDP协议与使用网络的应用之间...

    dsshop商城系统

    商城系统又叫网上商城系统,英文是Online Mall system,这个单词最先提出的是英国的Lap公司,该公司在中国大陆设有分公司,1998年,当时英国在线购物刚刚起步,Lap在英国系统开发方面已经小有名气,为规范市场称谓,...

    XpZC新普微信众筹系统 v2.0.rar

    新普众筹系统可以实现众筹平台的快速搭建,规范业务流程、项目募集 资金、运营风险控制、资金支付结算、项目实施控制、投后管理,安全的软件系统架构和规范的项目风险控制体系,为投融资双方提供安全优质的服务,...

    信息系统(软件)数据接口快速开发与管理平台-技术手册

    (2)企业级云服务能力:利用接口标准化、可复用特点,沉淀公共技术组件资产,搭建企业级云数据服务,助力企业项目及产品实施; (3)对外开放能力:将内部服务能力以标准API的形式开放给外部合作伙伴或第三方,与...

    信息系统(软件)数据接口快速开发与管理平台

    (2)企业级云服务能力:利用接口标准化、可复用特点,沉淀公共技术组件资产,搭建企业级云数据服务,助力企业项目及产品实施; (3)对外开放能力:将内部服务能力以标准API的形式开放给外部合作伙伴或第三方,与...

    广东浪远网络公司考试服务呼叫中心建设案例

    广东浪远网络原有的考试项目数据库、考生管理数据库以及在线服务系统实际上已经搭建了一个清晰的业务框架和数据框架,在应用呼叫中心时,只需利用现成的基础,增加新的呼叫处理业务,并实现考试项目、考生和服务呼叫...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    《经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发》介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含Session Bean、Message Driven Bean的...

    信息系统招标技术要求.docx

    主要技术规范及要求 业务应用系统运维背景说明 3.1.1XXXX系统说民 XXXX系统于XXXX年XX月XX日启动建设,历时近XX个月时间于XXXX年XX月XX日XX、XX试点单位切换上线,XXXX年XX月XX日项目组再次入场,历时近XX个月,经过...

Global site tag (gtag.js) - Google Analytics