[免费注册]
  • 腾讯QQ
  • 人人网
  • 新浪微博
  • 腾讯微博
BUG反馈 | 广告合作 | 网页游戏 | 帮助中心
站内公告:
首页 解决方案 项目开发 SVN/LINUX Linux下SVN安装(CentOS 5.4 )

Linux下SVN安装(CentOS 5.4 )

分享到:
admin 离线 时间: 2011-05-02 00:05 阅读(519) 评论(0)

centos5.4-nginx0.8-mysql5.1.4-php5.2.13-svn1.6

下载安装包

wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.gz

安装
tar zxvf subversion-1.6.11.tar.gz
tar zxvf subversion-deps-1.6.11.tar.gz
cd subversion-1.6.11
./configure  --with-ssl  --enable-maintainer-mode
make
make install

创建仓库
svnadmin create /var/svn/mytest

修改仓库的配置
/var/svn/mytest/conf 目录下面有三个文件
authz                    用户文件
passwd                密码文件
svnserve.conf      配置文件

passwd  讲解(用户名密码)
[user]
#用户名 =  密码  比如我要添加个用户 lrenwang 密码是 123456
lrenwang = 123456
admin = admin123

authz 讲解 (用户,组访问权限)
[groups]
#组名 = 用户用","分割
admin = lrenwang,admin
#访问的位置  / 是跟,相当于 /var/svn/mytest 下面所有, 另外注意  /var/svn/mytest 里面文件都是二进制保存,不同于项目开发中那个列表形式,要查看,只能用svn工具看
[/]
# @组名  访问权限 r读 w写
@admin = rw
svnserve.conf  讲解(每个仓库的独立配置)

anon-access = none                                                  没有帐号 不能访问
auth-access = write                                                   用户可以写入
password-db = /var/svn/mytest /conf/passwd    指向密码文件的位置
authz-db = /var/svn/mytest /conf/authz                指向用户文件的位置
realm = svn1                                                                给每个仓库起个不同的名字,(我也没搞太清楚 哈)

启动
svnserve -d -r /var/svn/mytest --listen-port 3312

可以启动多个端口,对应不同的仓库,例如
svnserve -d -r /var/svn/mytest1 --listen-port 3313


win 下面客户端的连接 svn://服务器ip:3312


高级篇
建立好仓库后,导入项目,
用win下面的乌龟导入比较方便,先创建一个副本,然后把项目复制过来,然后更新
linux 下面 svn import /var/www/mytest  svn://服务器IP:端口号 -m "Initial Import"

开发流程是这样, 创建仓库后,每个人更新到自己电脑上的都是副本,修改后提交,用自己电脑上的wamp环境进行修改测试(当然也有用linux),这时候测试人员怎么办? 让他们自己更新,显然很麻烦, 这时候需要配置 hooks 钩子进程,听起来好像病毒阿 呵呵
简单的说就是当有更新提交到svn服务器的时候, 就激活了 hooks 了, 这时候让服务器自己更新就好了
先在服务器创建个副本
svn co  svn://服务器IP:端口号 /var/www/mytest

然后增加配置文件
vi /var/svn/mytest/hooks/post-commit
#!/bin/sh
svn update  update /var/www/mytest  --username 'lrenwang' --password '123456'

保存后,一定要赋予执行权限,否则会报错  post-commit hook failed (exit code 255)
chmod +x  /var/svn/mytest/hooks/post-commit

测试人员直接浏览/var/www/mytest  就好了



SVN初始化实例

1 建立仓库
svnadmin create /data/item1

2 修改仓库相关配置,直接调用泰安配置就行
/data/item1/conf/svnserve.conf  修改相关的用户文件位置 密码文件位置,只要改好一份,直接复制就行

3 启动svn
svnserve -d -r /data/item1/ --listen-port 3315

4 添加到自动启动
echo "svnserve -d -r /data/item1/ --listen-port 3315" >> /etc/rc.d/rc.local

5 创建服务器副本
mkdir /data/htdocs/item1/
svn co svn://192.168.1.2:3315 /data/htdocs/item1/

6 执行自动挂钩
echo '#!/bin/sh' >> /data/item1/hooks/post-commit
echo 'svn  update /data/htdocs/item1  --username "lrenwang" --password "lrenwang"' >> /data/item1/hooks/post-commit

chmod +x /data/item1/hooks/post-commit

网友评论: 共有0条评论

我来评论

guest

登录 (请登录发言,并遵守相关规定
小提示:
• 运行html请点击源码添加
• 添加完毕后加上<br />
• 显示html直接复制黏贴
• 高亮代码请点击插入代码

小贴士:

1. 请各位网友在回复的时候不为了回复而回复,尽量发一些有质量的回复内容。

2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。

3. 请勿到处挖坑绊人、招贴广告。即占空间让人厌烦,又没人会搭理,于人于己都无利。如果您发现自己的回复不见了,请参考以上3条。

设为首页 | 加入收藏 | 关于我们 | 著作权声明 | 合作信息 | 麦琪开源PHP框架 IT-知识库 Copyright 2010 - 2011 ITZSK Corporation,ALL Rights Reserved. 版权所有
内存使用:1,269.89KB 执行速度:0.02010seconds