http://www.zhihu.com/question/20003204
http://blog.csdn.net/kahnsen/article/details/33724839
http://www.iteye.com/problems/102384
http://www.infoq.com/cn/articles/dev-op-xebia/
svn根目录
Trunk:主开发目录。
Branches:分支开发目录及测试目录,版本正式发布并生成tag后删除。
Tags:已发布版本(包括补丁)的存档目录,不允许修改。
Release:程序发布目录,含运行程序、升级脚本和标准库。由配置管理员在版本发布时创建。
trunk
Bin:运行程序存放路径。
Control:第三方控件存放路径。
Documents:产品开发文档存放路径。
Management:项目管理类文档存放路径。
Procedure:存储过程或包、初始化数据及视图存放路径。
Script:数据库升级更新脚本存放路径。
Sources:源代码存放路径。
Tools:工具存放路径
Branches
一级目录为程序修改版本标识,二级目录的目录结构与trunk一致。
Tags
一级目录为已发布程序基线版本号,二级目录为子版本标志,比如BL表示基线版本,sp1表示对应基线的第一个大补丁版本呢,三级目录的目录结构与trunk一致。
Release
一级目录为已发布程序基线版本号,二级目录如下:
Bin:执行程序存放位置。
Bin\Doc:操作手册、安装手册及升级说明存放位置。
Patch:补丁存放位置
Procedure:存储过程或包、初始化数据及视图存放位置。
Script:数据库升级更新脚本存放位置。
Stddb:标准库存放位置
svn上面有这个功能,采用建立多个分支的方法,你把还在开发的项目放到trunk分支下,在这里进行功能增加和修改,把上线的项目放到release分支下,每增加或修改bug后把这两个分支merge一下,然后重新发布到release分支下
其实,如果能够灵活利用svn diff 命令,流程还可以更加优化。
版本库部署发布流程化
版本库的管理
主干,分支,tag,release的管理
权限的定义与分配
得到要发布的版本
修改配置文件及其它参数
测试环境的部署(外网环境)
作一些验证还有一些修改bug之类的操作
功能的完备
测试3天时间
预生产环境的部署(外网真实环境与生产环境一模一样)
性能测试
只用来客户端测试使用
测试2天时间
无问题的话直接同步到生产环境中
生产环境的部署