SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8727|回复: 16

[推荐] IF.SVNAdmin

[复制链接]
发表于 2011-12-21 20:32:38 | 显示全部楼层 |阅读模式
在用SVN+Apache+LDAP的模式来管理权限,不方便的地方是没有图形化的界面来管理用户权限。我是将各个库的权限交由各使用单位的CMO自己去负责管理。这样就有近十个CMO账号,分别管理近十个authz权限文件。# F+ R- P, e& d
  ?! ~6 ]# ^/ V3 i
我既需要LDAP方式管理用户,这样方便用户访问SVN,不必多记忆一套密码;也需要passwd的用户,方便与其他系统集成,因为LDAP用户的密码定义为每3个月强制修改并且24个月内的不可相同或类似。* s7 O# W) a( ~9 g2 [$ Y: Q
! H0 [+ g7 O+ p
最近考察了两款工具:Repocafe和IF.SVNAdmin,Repocafe感觉麻烦一点,要装一个postgresql,我就没试。
2 \9 N6 k! W3 s% I' W我试了IF.SVNAdmin的1.5.2、1.5.1和1.5版本,都有点问题,正向作者请教中……
  c1 m# ^7 |# D  s8 ~" Dhttp://www.insanefactory.com/if-svnadmin/3 V( V  W% ?* ?: {: |, E4 L
http://repocafe.cs.uu.nl/
% ~! K( R7 _3 B6 T9 U; _  N, U
& V- g- j( b, m+ ^不知有没相似需求、做过类似研究的童鞋分享一下经验?: `: Z$ y# Z3 @! i8 X2 B) e0 o
发表于 2011-12-21 21:03:21 | 显示全部楼层
本帖最后由 qhy218 于 2011-12-21 21:14 编辑 4 \0 H& \# t- H
' C9 F) ~& q* p5 y! \) ~
刚刚看了下,好像这软件还蛮不错的,年后用用看~~目前我们版本库的账户并没有使用LDAP,我们使用了一个独立的系统管理,采用自己开发的一个系统管理,包括权限管理、版本库管理、用户ACL控制、版本库访问日志管理等内容+ B& Y  G7 ^( }  E% {
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-21 21:16:40 | 显示全部楼层
本帖最后由 okala 于 2011-12-21 21:20 编辑 * e. Z" y6 ]2 n. }+ O4 T

% ^% Z5 K' f8 `2 y, v/ ^# i回复 qhy218 的帖子
3 Q3 ?0 M) L! t6 ^0 x3 a8 g. E9 W: R5 Y3 b/ |! f, `- p# ^
大牛啊!
( y) u1 G! h1 L# ~1 G0 {. f
# K& D( ?2 R& q我们的不是一个项目一个版本库,是一个版本库一个类,比如单相产品一类,三相产品一类,在线式一类,离线式一类。大概24个库,共占约117GB空间。其中有些是1.4.3的版本库,DB Format是2,有些是1.6.X的版本库,DB Format是4或5,准备晚一点再统一起来。
, p0 P( h2 o9 m3 [( l0 f- M6 W9 A* K- g( y$ g5 d) b$ ?- |
那你们是用Parent父库-子库的方式来管理吗?9 O1 o& p8 Y0 w& P* d( r

& L2 S0 ?5 c3 N1 z0 ~1 R你们的备份策略是如何做的呢?3 p# W/ v$ r0 ?+ ]
我现在是用sync镜像到另一个挂载点,然后用磁带对镜像进行每周增量备份、每月全量备份
  v8 t* @! }) p
8 z  c) W: a. e0 N/ d9 C如果不考虑与LDAP集成,我觉得可选的管理工具还是蛮多的。你们自己可以开发一个,好牛哦!
! {0 a, L" e  B* L
  w& K( k. g2 ~5 F5 t: l  b大牛有没有玩过Merge?和External Source(好像是这样拼吧,外部引用)?感觉怎么样?4 ~: |- z' }  _  i8 [
* K& j8 j: Q) B2 V% C7 I5 H! P3 U
而且我觉得我们的LDAP用用户密码的管理应该要严于、高于Htpasswd方式,我们的LDAP强制每3个月就改密码,24个月内的密码不可以相似或重复,必需9个字符以上,必需有数字、小写字母、大写字母、特殊字符中的三种。
) d1 z" d- C" `' f0 l% J- b% S9 p
回复 支持 反对

使用道具 举报

发表于 2011-12-21 21:23:58 | 显示全部楼层
okala 发表于 2011-12-21 21:16 * l- ^# h0 R0 G' e$ h* G$ }
回复 qhy218 的帖子2 z: l2 \6 q6 r# C4 o
" X$ s+ F4 U+ V* k) P6 j
大牛啊!

, a  h2 z' S# b2 V6 {其实我不是大牛,我是吹牛吹大了,刚刚都把上面的话删了,没想到还被你看到了~~
/ C5 `8 ~8 [$ Q, z7 m" r3 K我们目前SVN管理并不是非常好,特别是什么东西该放到SVN上来,现在体系定义了连成果物都要放到项目库;
4 f/ ?/ a4 M) t2 o5 Y6 ?0 U" B
800个库里面500个是项目库,主要存放项目活动相关内容,另外300个主要为代码、硬件结构图纸等,整体容量很恐怖,目前有1800GB,大得我发愁,目前备份使用EMC Avamar Data Store每日全备,每月使用ADT磁带出库保险柜存储~~% ^) @( @' ~. g+ o3 M& h
回复 支持 反对

使用道具 举报

发表于 2011-12-21 21:25:56 | 显示全部楼层
okala 发表于 2011-12-21 21:16
+ C7 q! u8 x& e& [% `9 M回复 qhy218 的帖子. [. w9 v+ [& Y- J& D; o% g3 x

0 e; u: P( Q* Q  v! y大牛啊!

5 Q0 ]4 M0 ^/ t/ t用户管理我使用mysql管理的,因为文件只有帐号和密码,补太方便,而且无法做其他应用,如ACL、与第三方库结合等~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-21 21:35:36 | 显示全部楼层
回复 qhy218 的帖子
# G/ i9 F/ k% K5 E6 a/ P9 W0 }' i; R1 o: q8 d4 m
1800GB!还每日全备!如果用光纤硬盘阵列,成本够贵的吧~
9 ?" \; E; P. k- c  I" I8 e4 ]
/ W8 {$ s8 M2 t8 z% I& m我这边规范里是写着让大家不要加日期为后缀名、没有版本变化的东西不要入库,但大家还是会把rar、zip、jpg、exe、avi等文件传上去,郁闷死了( d4 o7 s& ^" W: h- M
有一次有个家伙把14GB的资料分卷压缩传上去,被我例行检查时发现了,后来通过load/dump filter及时去掉了这部分资料3 ?6 B3 R; C- h

/ H# I9 M8 }0 H3 x. A然后我想写pre-commit来限制上传的类型和单个文件大小,但是如果文件名包含空格就不起作用,调试过一阵子,请教过小光,后来不了了之了……$ u5 l9 T) |. j: X% U
回复 支持 反对

使用道具 举报

发表于 2011-12-21 21:43:43 | 显示全部楼层
本帖最后由 qhy218 于 2011-12-21 21:46 编辑 ) `$ `4 P1 |: ~

1 L# h; d% X4 P  a- S  v+ j回复 okala 的帖子8 a6 x9 S, t) {% i
4 k' {( P% G) E- u6 w/ ^+ d4 D
Avamar很智能的,他的全备是重复数据删除后的全备,等价于其他备份软件的增量备份,但是跟增量又有差别,他恢复不用集合历史的增量点;: u, U3 S' W) g5 C# r
硬盘这块我明年确实想上一个好点的存储,目前考虑EMC VNX5300,自动化的分层存储(SSD+SAS+Near line SAS分层)以及虚拟化的应用能降低存储成本和提高磁盘利用率;
6 m3 e( E7 }$ \" \  W
/ B% L  ?5 B/ S+ l. |版本库的管理是一个长期的过程,我们规定了代码库只放代码和一些设计文档,而其他的内容会被放入项目库、BOM库、共享库等不同的版本库中,你可以尝试增加一些脚本控制来拒绝一些文件的上传,如后缀名,或者文件大于100m等,你刚刚说的pre-commit对空格无效,应该是脚本问题,可以尝试咨询下坛子里的人嘛~~% U$ i! P  X; b! u

2 r2 o, C' H: P2 E3 r, b
* O. X9 r/ K: z* N5 v: f$ l# b; D6 C1 Z$ E
回复 支持 反对

使用道具 举报

发表于 2011-12-22 10:30:03 | 显示全部楼层
要多向 2位前辈学习啊
; A  X9 w1 g  U. ]6 {我们这边也马上就要上 SVN 了,也在为权限和整体构架发愁呢~( U' S& `" ~; r! k9 f% O

$ B1 e" b4 m9 L6 ]* A我们这边没有使用 authz权限文件的方式哇,而是使用 pre-comit HOOK 的方式,另外定义了一个 ini 配置文件的,包括每个库对应目录的权限分配的,然后自己开发了一个GUI的界面,可以对这个配置文件进行读写操作,所有库的hook都统一指向这个ini配置文件的,这样CMO管理员来添加定义每个库,相应分支目录的权限的, 每个项目分支的PM 自己也可以添加分支目录的权限
6 b. F3 F( A2 U& \9 p( j7 E- Z3 ^+ f4 b8 Y+ N4 V
3 j5 d+ H* V5 m, O% J

7 \1 q1 y* f2 z
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-24 21:32:52 | 显示全部楼层
回复 qhy218 的帖子
9 |: h3 _( ^  b2 I4 |' y- q- m$ K' P$ q) Q
后来我想到一个疑问,如果它做了10号全备后,我删除了一个文件,然后15号全备时清掉了10号的全备,那我是不是无法还原删掉的文件啦?  a" A' x: ?% s6 D! g
回复 支持 反对

使用道具 举报

发表于 2011-12-24 21:36:04 | 显示全部楼层
okala 发表于 2011-12-24 21:32 % Q6 \3 m1 H+ K# `, F- i5 K7 S
回复 qhy218 的帖子
7 D+ y7 v/ a0 u: I- d& C
) f) b  H5 t  P$ e! m后来我想到一个疑问,如果它做了10号全备后,我删除了一个文件,然后15号全备时清掉了 ...
2 w& [: j4 P0 T! t$ `& c6 e
每天都有一份全备,这些全备保留的代价非常小,因为所有重复的块都只会保留一份指针作为记录~~4 T( i& f/ d! K  D1 J. {
我第一次备份重删在40%-80%(看数据类型),以后,基本都是98%-99.99%这样子的重复删除率,也就是每天增加的量是非常少的~~
; y1 H3 _# w; Q( U
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-2-25 06:18 , Processed in 0.066053 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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