SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6076|回复: 10

[原创] base clearcase 实施方案

[复制链接]
发表于 2012-3-22 15:52:57 | 显示全部楼层 |阅读模式
本帖最后由 正在旅行 于 2012-3-22 16:07 编辑 * N0 l: D4 _3 v8 m  `3 e
$ w# Q- `- Q+ N# E* E
1.概述
1.1.目的
本文档的编写目的是为CC的系统规划、配置管理规划、VSS数据迁移到CC提供指导,确保数据的迁移及CC的实施顺利完成。
1.2.背景
公司准备启用CC代替VSS作配置管理的工具,需要做好准备工作,便于实施工作有条不紊的开展。
1.3.范围
系统的规划;
配置管理的规划;
应用环境的部署与测试;
VSS数据迁移到CC。
2.系统规划8 `5 h! ]7 U* P' X# m
2.1.拓扑图
" K7 N4 z" n# g* T% k% H0 T
2.2.ClearCase服务端
CC需要在域环境中部署,但是不要在域服务器中部署,访问ClearCase的账户必须是域账户。
建议单独部署1台CC的服务器,该服务器上包括Registry Server、VOB Server、License Server等,且该服务器上不要运行其他程序,只用来存放ClearCase数据。
2.3.ClearCase客户端 ) z$ ]2 }' U/ y. M/ L
CC的客户端都安装在Windows XP操作系统上,目前一般PC机都胜任CC的应用需求。
u普通CC客户端数量:约50
n研发一部含美工 20
n研发二部 7
n需求设计部 10
n质量控制部 10
n过程改进部 1
uCCRC客户端数量:约6
n项目管理部 4
n经理室:2
2.4.软硬件需求
" m7 A0 d4 e. _2.4.1.服务器端
( |% ?! c$ S7 L+ r/ j6 N
1)硬件
设备型号
设备数量
1
单台配置要求
CPU: 1 Z, k' V7 c- a3 X0 P
2.5GHz
以上
内存: 4G 硬盘: 1 TB 以上

' J3 `; L2 c, D
2)支持软件
软件需求
详细要求
操作系统
Windows Server 2003 Enterprise Edition SP1以上(支持的rational软件版本:CC 7.1.*)
- r: [+ O( F$ N+ k/ a1 M
2.4.2.客户端) B6 {3 x1 N( x2 S* B9 e6 ?
1)硬件
设备型号
设备数量
根据实际需要
单台配置要求
CPU:
4 U4 u8 \& A2 }" }, @3 B2 e0 W# d2GHz
以上
内存: 1G 以上硬盘: 120 GB 以上
3 f# `3 I/ q* R# A3 b: Z  e! @: @
2)支持软件
软件需求
详细要求
操作系统
Windows 2000 Professional SP2以上 Windows XP Professional SP1以上

' L: _2 O) k+ b/ ]. ^3.配置管理规划
2 S: `" O2 @* g3 y: s8 S" N; J3 ?3.1.VOB规划* q- G1 F4 M- c6 S# |. l" {6 B/ Q+ V
3.1.1.VOB规划 & A2 G& M6 t, H4 A- s
考虑公司项目的类别多样性等情况,应建立多个不同类别的VOB来分别存储及管理项目。目前可以建立两个VOB:产品类VOB、项目类VOB。如果遇到特大型项目可以单独建立VOB管理。
3.1.2.VOB的目录组织结构
. A& c* W$ b: i" c5 }9 N
软件项目的配置管理项包括源代码、文档及其他相关数据资料。所有数据都根据公司配置管理的要求存放到相应的位置。
VOB目录结构定义了所有配置项在VOB中的存储位置。项目创建时应按照下表中的目录结构组织项目及其配置项。如果因项目特殊,则按照相关规定,根据具体需要对固定结构进行裁剪。
VOB
VOB中的目录
典型内容
项目类
项目1
开发库、受控库、基线库
项目2
项目3
……
产品类
项目1
开发库、受控库、基线库
项目2
项目3
……
其他类别
……
产品库
……

& |; u& }! t7 q, F2 Z1 \3.1.3.VOB的存储位置
VOB存储位置:在CC服务器中,建立一个共享文件夹(命名为ClearCase_Storage),用于存储所有的VOB数据及相应的VIEW数据。
3.2.VIEW规划7 p6 X! Z/ e6 E( _+ A
3.2.1.VIEW规划
1 e: J2 x- U- j2 U
配置管理员、项目集成人员、相关领导可以使用动态视图,人员规模在1-3个人的小项目可以使用动态视图,除以上情况所有人员均在静态视图下工作。
提交限制:元素CheckOut后,没有特殊情况不允许超过2CheckIn
u命名规则:
n静态视图:小写域用户名_view_s,如果个人需要建多个静态视图,须在尾部按照顺序加上数字,例如:ccadmin_view_sccadmin_view_s_1 ccadmin_view_s_2
n动态视图:小写域用户名_view_d,例如:ccadm_view_d,动态视图创建一个就行了。
3.2.2.VIEW的存储位置
VIEW存储位置:在客户端本地磁盘建立两个文件夹,一个设置为共享(本人拥有所有权限,其他人只读),用于存储动态视图和静态视图的.vws文件,另一个文件夹用于存放静态视图的工作文件。
3.3.分支策略$ a4 T/ I- o% b. l' ?
3.3.1.分支策略(一)——使用分支
- i9 R: ?  g$ j8 `/ @& u* o. m
为支持软件产品开发的并行性和独立性,应当充分利用ClearCase 的分支功能。对一个软件产品而言,首先应确保主干(\main)的独立性和完整性,所有涉及新功能开发、修改错误、为某个单独客户的定制以及版本扩展等工作应该在另外独立的分支上进行,这样做的目的可以保障所有这些工作的同时进行而且互相之间没有影响。
u对于新功能的开发,应建立一个集成分支。如果必要,可以将功能划分为几个互相完全独立的子功能,并为这些子功能建立相应的子分支,在每个子分支上进行子功能的开发。当所有的子功能开发完毕再归并到集成分支上。这样做可以保证随时获得具有某一功能的版本,而不必等到所有的功能开发完毕。甚至可以为每个开发人员在子功能分支上再建立分支。当功能开发工作完成时,将集成分支归并到主干上以获得一个新的版本。
u对于错误修改,应建立统一的针对版本的错误修改分支。当错误修改工作完成时,就可得到针对版本的错误修订版本。
u如果针对某个客户需要做特殊的定制,就需要在相应版本上建立定制分支,再根据不同的客户建立相应的定制分支。这样开发人员就还可以用快照视图(SnapShot View)到客户现场在相应分支上进行定制工作。
u有时还存在版本扩展(enhancement)的情况。如果扩展工作很紧急,可以把这种扩展当作错误修改处理。否则在下一个版本开发中处理。
3.3.2.分支策略(二)——使用main主干
8 D8 A3 Z1 h% q- ^2 K7 d; P' h
对于一些普通项目类型的项目,那么只需在main主干上进行工作即可。如果必要,可以将功能划分为几个互相完全独立的子功能,并为这些子功能建立相应的子分支,在每个子分支上进行子功能的开发。当所有的子功能开发完毕再归并到mian主干上。
3.3.3.分支命名规则
4 @0 f3 L6 }6 t1 u( X3 b! X/ w
u只能创建全局唯一的分支,分支名必须小写:
n错误修改分支:版本+'_bugfix',例如:rel1.0_bugfix
n新功能分支:版本+'_integration',例如:rel1.0_ integration
n子功能分支:'fun _'+子功能编号,例如:fun_1
n定制分支:版本+'_customization',例如:rel1.0_ customization
n子定制分支:'site_'+客户名称缩写+版本编号 ,例如:site_jsgs1.0
3.4.标签策略
u任何代码基线版本都可以用Label标识:
n例如:REL1.0REL1.1REL2.0
uLabel只能由配置管理员建立并标识。
3.4.1.标签的命名规则
uLabel应全局唯一,Label名必须大写
n产品基线版本:'REL_'+版本编号
3.5.备份策略
ClearCase管理员重要任务就是定期备份数据。管理员在针对ClearCase VOB和View(视图)进行备份时,应该考虑VOB和View有其特殊的备份和恢复特性,数据应都能被全部备份,遇到故障时能够及时恢复。
备份方式:常规备份,基于拷贝的方式备份数据;
备份内容:1.VOB:根据需要备份全部VOB或者特定的VOB;
           2.VIEW:根据需要执行备份;
           3.var目录:该目录包含ClearCase注册信息(rgy目录)、已连接的客户端列表信息(client_list.db)和一些日志文件(log目录)等比较重要的信息;
备份要求:对于VIEW如果存放在专用的视图服务器上,则需管理员定期备份存储区。如果视图存放在个人电脑上,则视图拥有人自己定期执行备份;
备份时间:每周六凌晨开始,自动备份。
3.6.权限规划
! f, C# t& `1 L+ ^7 x; _6 I: {& C3.6.1.组间关系说明 . \1 f; z5 l7 o
VOB创建前,应由域管理员创建CC的用户和组。
用户:公司政务软件事业部所有域用户、CC管理员(ccadmin)、CC进程用户(clearcase_albd
组:ccusersCC管理员组(clearcase)、项目组
ccusersCC的大组,其中包含CC的所有用户及所有组。
ccadmin外,公司相关领导的域账户属于clearcase组。

% s' C. l. C! w/ H7 w7 [& J$ q3.6.2.VOB的权限控制 ' N* b( w8 K' {* z0 A
每个VOB都有属主(VOB Owner)、属组(VOB Group)和附加属组列表(Additional Group List)。必须由clearcase的管理员ccadmin创建VOB,所以缺省情况下ccadmin就是其属主,创建者的主组(Primary Groupclearcase)是VOB的属组。VOB的属主和属组可以通过ClearCase提供的命令改变。所有访问VOB的用户都必须加入到VOB的属组或附加属组列表中。这样便可以有多个组存取该VOB
3.6.3.元素(Element)的权限控制
每个元素都有属主、属组。缺省情况元素的属主是其创建者,创建者所属于的主组是其属组。属组包含需要访问元素的用户。元素的属组必须是VOB的属组或在VOB的附加属组列表中。
为了元素的统一管理,任何用户新建的元素其属主须设为ccadmin,该操作由触发器自动完成。
3.6.4.权限设置
对于元素的读、写、执行,在CC中与其他配置管理工具还有些不同。分配权限4时目录中看不到任何元素,分配5后是读权限,分配7后才能有写权限。
权限设置表格如下:
目录结构
权限
角色
属主
属组
附加组/其他组
VOB
 
 
 
ccadmin
clearcase
ccusers
项目
 
777
ccadmin
项目组
其他组
开发库
775
ccadmin
项目组
其他组
受控库
755
ccadmin
项目组
其他组
基线库
755
ccadmin
项目组
其他组
产品库
 
 
755
ccadmin
ccusers
其他组

) ]! O# H/ w* J/ w
在上述表格中,产品库、受控库和基线库的属组权限为5,这时用户还可以checkout文件夹。如果要保证为只读,需要利用trigger来限制用户的checkout权限。
Triggercleartool mktrtype -nc -element -preop checkout -nusers ccadmin -execwin "ccperl -e \"exit 1\"" NO_CHECKOUT@\VOBNAME
cleartool mktrigger -nc -r NO_CHECKOUT 目录
该命令保证除了ccadmin外,其他用户都没权限checkout受控库的内容。
0 u+ m% b: a$ P5 ~6 ]( ^
必选触发器:
自动进行新元素的权限设置,设置owner为ccadmin
cleartool mktrtype -element -all
# h" a" K: M+ [) o' Z. C-postop mkelem -exec "cleartool protect -chown ccadmin %CLEARCASE_PN%" -nc mkelem_postop_ChangeOG
除了ccadmin,禁止普通用户创建元数据类型
cleartool mktrtype -type -preop mktype -nuser ccadmin
8 |1 A/ D! T4 d* f) I-attype -all -eltype -all -brtype -all -hltype -all -lbtype -all –trtype -all -exec "ccperl -e \"exit 1\""
: V: B. P- D8 p-c# Y1 u5 O$ \% Y* q' f
"can not make type"
3 M3 o5 B6 E: N1 ^1 [! G, `* o* e" rNO_MKTYPE@\VOBNAME
禁止任何用户删除元素
cleartool mktrtype –nc -element -all -preop rmelem -exec "ccperl -e \"exit 1\"" NO_RMELEM@\ VOBNAME
除了ccadmin,禁止普通用户删除版本
cleartool mktrtype
" I9 i- U: q0 a3 ^-element -all –preop rmver -nuser ccadmin -nc -exec "ccperl -e \"exit 1\"" NO_RMVER@\ VOBNAME

; w+ k4 H, K9 [, H. C7 Y9 K0 z$ L
如果项目除了main主干还有其他分支,则须选以下Trigger
除了ccadmin,禁止普通用户修改main主干
cleartool lock -nuser ccadmin brtype:main@\ VOBNAME
除了ccadmin,禁止普通用户删除分支(实例)
cleartool mktrtype -replace -element -all –preop rmbranch -nuser ccadmin -nc -exec "ccperl -e \"exit 1\"" NO_RMBRANCH@\ VOBNAME
; a( {' Q. [  h; f2 O0 z
4.实施计划
u建议VSS数据迁移到CC分两个批次完成。
n第一批,把VSS中近一段时间内不使用的项目数据迁移到CC
n第二批,对于正在进行中的项目,待项目完成后,陆续把数据迁移到CC
实施计划表:
任务名称
开始时间
结束时间
整理VSS数据
6 ]$ r  U9 m! A9 ~7 F

4 [# d& f* R6 B5 n: J
导出VSS数据(第一批)
4 O6 o% s9 k# D3 {$ B7 d0 Z4 n' Z
; \5 ~' T+ d# S% \; B
导入数据到CC中(第一批)

" J/ y% |: L$ z2 \& P* ?, d8 k) {
客户端安装
, O4 Z; \9 r( V% P+ W6 D. T, K

% B" \+ p! K6 s) R- x( ?; d
分配权限
5 M* i2 \! _; A  u
8 `  g/ a3 b0 Z. O3 X
培训

7 F6 F/ \1 o& y+ r8 S7 m" \9 ?: B) C
* V. Y. I7 T, W1 B' T/ l6 d" N
服务、支持

0 y9 u, g2 D5 Z, J
4 j% u1 W9 b, i2 ~+ }- ?


  }, u2 \8 p  ^# E4 ?

/ q) s7 x2 b' Y  y( [

$ X0 u3 v( H- V) b9 g
, ^& T  n, @) b) p' G4 H- i$ d" R- i1 Y/ F5 q: e  f4 h

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2012-3-23 10:31:04 | 显示全部楼层
建议最好再提供这个的word版本供大家来下载使用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-23 10:54:41 | 显示全部楼层
回复 懂你 的帖子5 Q: Y' g% w$ F$ r& I1 ^
/ N; X) e6 e" i; f0 h( j
好的,马上传上来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-23 11:02:38 | 显示全部楼层
本帖最后由 正在旅行 于 2012-3-23 11:06 编辑 9 c- N8 o9 s, o8 J& p
$ M: j# x- ?! D
- @' e0 c( r1 E. Q" z) l8 J

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2012-3-23 11:37:39 | 显示全部楼层
考虑的提供全面的,挺不错的实施方案
回复 支持 反对

使用道具 举报

发表于 2012-3-23 23:09:36 | 显示全部楼层
真的很好...#建议单独部署1台CC的服务器,该服务器上包括Registry Server、VOB Server、License Server等# 觉得服务器负载过重     
( t7 p- d4 H4 c& i. E- M现在主要对CC trigger和stream不熟悉.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-24 13:58:48 | 显示全部楼层
回复 yejianbol 的帖子
, p& u) V- W7 l! s1 \
# L) j1 r* h" M* m我们做过服务器性能测试的,100人以下使用CC的话一台服务器就够用了,如果人多的话,可以考虑部署几台服务器分担压力。
回复 支持 反对

使用道具 举报

发表于 2012-8-10 10:25:40 | 显示全部楼层
谢谢楼主呀!
回复 支持 反对

使用道具 举报

发表于 2012-11-6 23:36:13 | 显示全部楼层
感谢分享!
回复 支持 反对

使用道具 举报

发表于 2012-12-10 13:48:27 | 显示全部楼层
不看不知道,一看,知道原来那么多好贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-6-18 07:40 , Processed in 0.117044 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表