SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8159|回复: 16

[推荐] IF.SVNAdmin

[复制链接]
发表于 2011-12-21 20:32:38 | 显示全部楼层 |阅读模式
在用SVN+Apache+LDAP的模式来管理权限,不方便的地方是没有图形化的界面来管理用户权限。我是将各个库的权限交由各使用单位的CMO自己去负责管理。这样就有近十个CMO账号,分别管理近十个authz权限文件。
  i; G' q# V8 T) h+ `# P" P; H
" @: W" S( ~+ c6 ~) Q  I; R: y: L我既需要LDAP方式管理用户,这样方便用户访问SVN,不必多记忆一套密码;也需要passwd的用户,方便与其他系统集成,因为LDAP用户的密码定义为每3个月强制修改并且24个月内的不可相同或类似。
) D/ r5 A' b8 @+ E$ g, F# ], F4 [4 e* V2 {0 [; Q
最近考察了两款工具:Repocafe和IF.SVNAdmin,Repocafe感觉麻烦一点,要装一个postgresql,我就没试。% `  E. `$ e1 D
我试了IF.SVNAdmin的1.5.2、1.5.1和1.5版本,都有点问题,正向作者请教中……
7 Y: C* h" a0 ^- chttp://www.insanefactory.com/if-svnadmin/9 k* L1 m5 n- s" T2 B3 Q- d
http://repocafe.cs.uu.nl/
: [( A. ?. P! L+ q/ c# M" i
: `% |! N/ k5 n! P: k不知有没相似需求、做过类似研究的童鞋分享一下经验?
+ K* D# p8 C/ h8 g1 `" r
发表于 2011-12-21 21:03:21 | 显示全部楼层
本帖最后由 qhy218 于 2011-12-21 21:14 编辑 : l/ i7 ~8 Y1 t1 s+ ^

2 ]; |, U) j3 D# G6 ]$ L刚刚看了下,好像这软件还蛮不错的,年后用用看~~目前我们版本库的账户并没有使用LDAP,我们使用了一个独立的系统管理,采用自己开发的一个系统管理,包括权限管理、版本库管理、用户ACL控制、版本库访问日志管理等内容
' D6 i2 W* [' e# o- {/ r; R
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-21 21:16:40 | 显示全部楼层
本帖最后由 okala 于 2011-12-21 21:20 编辑
* ?4 J9 f, j5 ^( x1 \6 M* |! A6 m6 |
回复 qhy218 的帖子* g5 X  ^+ F! p  ]) S, V
5 `0 Y. D4 ?5 D3 }% y$ U1 r' C
大牛啊!
6 q. W; w1 a( `0 d! g- ^+ ?$ I
: M  @- A0 M) {2 ?5 }+ R我们的不是一个项目一个版本库,是一个版本库一个类,比如单相产品一类,三相产品一类,在线式一类,离线式一类。大概24个库,共占约117GB空间。其中有些是1.4.3的版本库,DB Format是2,有些是1.6.X的版本库,DB Format是4或5,准备晚一点再统一起来。
4 {* G' Y# y" V. j; c
3 U1 Z0 G; v- }- D" l那你们是用Parent父库-子库的方式来管理吗?2 Y/ w4 j, J0 I
# Z  b+ C# J9 B$ T- k. Z
你们的备份策略是如何做的呢?& |2 p. W7 W  a% v3 q5 R0 W
我现在是用sync镜像到另一个挂载点,然后用磁带对镜像进行每周增量备份、每月全量备份
( @' J8 A% i( T* |% E$ j& m, x3 p6 c
如果不考虑与LDAP集成,我觉得可选的管理工具还是蛮多的。你们自己可以开发一个,好牛哦!! D$ n, P/ j) d/ w4 e4 I

/ @5 r6 }( z5 ]5 P' T大牛有没有玩过Merge?和External Source(好像是这样拼吧,外部引用)?感觉怎么样?
2 S6 C7 k9 Y' h6 z1 C
) Q6 K* s9 e1 \! T; k9 F* `而且我觉得我们的LDAP用用户密码的管理应该要严于、高于Htpasswd方式,我们的LDAP强制每3个月就改密码,24个月内的密码不可以相似或重复,必需9个字符以上,必需有数字、小写字母、大写字母、特殊字符中的三种。
: f1 v4 a& _$ S9 p) r
回复 支持 反对

使用道具 举报

发表于 2011-12-21 21:23:58 | 显示全部楼层
okala 发表于 2011-12-21 21:16
5 i$ y$ v9 |# f+ V. A回复 qhy218 的帖子
" ]5 Y+ H: ~% X4 f% s$ a
3 m7 I1 F1 T0 P' ~9 O' z! b: U大牛啊!
- f( Y2 s5 l9 ~* r+ |
其实我不是大牛,我是吹牛吹大了,刚刚都把上面的话删了,没想到还被你看到了~~7 M& G2 L( N- v. r" l: u
我们目前SVN管理并不是非常好,特别是什么东西该放到SVN上来,现在体系定义了连成果物都要放到项目库;
: E( D$ b' q. Q5 j; `9 Z9 S0 O" ]; T7 ?: G
800个库里面500个是项目库,主要存放项目活动相关内容,另外300个主要为代码、硬件结构图纸等,整体容量很恐怖,目前有1800GB,大得我发愁,目前备份使用EMC Avamar Data Store每日全备,每月使用ADT磁带出库保险柜存储~~
( r- g: o2 S8 N$ q! p
回复 支持 反对

使用道具 举报

发表于 2011-12-21 21:25:56 | 显示全部楼层
okala 发表于 2011-12-21 21:16 9 O1 r1 v# @+ E, D5 z- g0 {+ t; \
回复 qhy218 的帖子
* ?; c8 O2 ?- Q8 t- ]$ D, M9 B  E8 @- L0 P3 m
大牛啊!

- ]$ s* h! \4 W) i0 }用户管理我使用mysql管理的,因为文件只有帐号和密码,补太方便,而且无法做其他应用,如ACL、与第三方库结合等~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-21 21:35:36 | 显示全部楼层
回复 qhy218 的帖子
( ]1 `3 D& r6 `5 r2 p) O. V+ b* i
' k0 S2 T  A7 P1800GB!还每日全备!如果用光纤硬盘阵列,成本够贵的吧~( |, @) O+ G6 {. A

, j( ]1 B/ X  l4 F5 @1 P  Y' w# K我这边规范里是写着让大家不要加日期为后缀名、没有版本变化的东西不要入库,但大家还是会把rar、zip、jpg、exe、avi等文件传上去,郁闷死了* M. r* f% u# K2 Z1 X8 z
有一次有个家伙把14GB的资料分卷压缩传上去,被我例行检查时发现了,后来通过load/dump filter及时去掉了这部分资料$ S! S% {1 a% r
; C7 Z, \4 Z9 s! x
然后我想写pre-commit来限制上传的类型和单个文件大小,但是如果文件名包含空格就不起作用,调试过一阵子,请教过小光,后来不了了之了……  e1 ~1 o5 |1 u; B
回复 支持 反对

使用道具 举报

发表于 2011-12-21 21:43:43 | 显示全部楼层
本帖最后由 qhy218 于 2011-12-21 21:46 编辑
) @/ w- a$ M' l  Y/ y2 E  G! F# l6 j, \0 ^0 S, s1 E
回复 okala 的帖子
( Z+ s# k+ T2 h7 Y! l/ b  q# S/ a+ u
Avamar很智能的,他的全备是重复数据删除后的全备,等价于其他备份软件的增量备份,但是跟增量又有差别,他恢复不用集合历史的增量点;5 z, U" \+ r  N7 Q# R# L
硬盘这块我明年确实想上一个好点的存储,目前考虑EMC VNX5300,自动化的分层存储(SSD+SAS+Near line SAS分层)以及虚拟化的应用能降低存储成本和提高磁盘利用率;0 S. J7 ]6 \- ~, X$ }" I1 i

) K* L8 ], M5 i版本库的管理是一个长期的过程,我们规定了代码库只放代码和一些设计文档,而其他的内容会被放入项目库、BOM库、共享库等不同的版本库中,你可以尝试增加一些脚本控制来拒绝一些文件的上传,如后缀名,或者文件大于100m等,你刚刚说的pre-commit对空格无效,应该是脚本问题,可以尝试咨询下坛子里的人嘛~~# P* s6 }% t* {* |: P

8 I  _+ B3 I3 n! ^9 a0 w
5 m1 F7 Z' L  \
) R1 ]  b) q" A8 l, S3 m* p
回复 支持 反对

使用道具 举报

发表于 2011-12-22 10:30:03 | 显示全部楼层
要多向 2位前辈学习啊, n- x* R, o& n' i0 ~
我们这边也马上就要上 SVN 了,也在为权限和整体构架发愁呢~& [' C1 G6 ^. |1 W

; d0 I" c4 ?0 r! J* ]9 V. ]我们这边没有使用 authz权限文件的方式哇,而是使用 pre-comit HOOK 的方式,另外定义了一个 ini 配置文件的,包括每个库对应目录的权限分配的,然后自己开发了一个GUI的界面,可以对这个配置文件进行读写操作,所有库的hook都统一指向这个ini配置文件的,这样CMO管理员来添加定义每个库,相应分支目录的权限的, 每个项目分支的PM 自己也可以添加分支目录的权限
; [8 f# Y' z3 o4 }& B$ B. n
# _2 d( E; _8 x$ q
9 R( i$ s- D  S8 u) r9 s. k6 y' M6 h$ I% v2 H; Z
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-24 21:32:52 | 显示全部楼层
回复 qhy218 的帖子9 h, D% }% k8 |- ~& v9 `
8 Z- f; O) }; U0 o
后来我想到一个疑问,如果它做了10号全备后,我删除了一个文件,然后15号全备时清掉了10号的全备,那我是不是无法还原删掉的文件啦?; N- i. ~) L+ e% f. U
回复 支持 反对

使用道具 举报

发表于 2011-12-24 21:36:04 | 显示全部楼层
okala 发表于 2011-12-24 21:32 " }' Y5 A. l) u
回复 qhy218 的帖子0 J( {- |! Q- k- H* M
7 D6 [+ ?8 W$ u+ H1 a
后来我想到一个疑问,如果它做了10号全备后,我删除了一个文件,然后15号全备时清掉了 ...

1 m6 C+ c) b( [; X. S7 `3 \每天都有一份全备,这些全备保留的代价非常小,因为所有重复的块都只会保留一份指针作为记录~~
- @! H/ b& k* I3 d# l7 h; o0 A我第一次备份重删在40%-80%(看数据类型),以后,基本都是98%-99.99%这样子的重复删除率,也就是每天增加的量是非常少的~~2 }( J5 v& K# f% A$ C
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2017-8-20 01:38 , Processed in 0.065184 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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