首先安装svn,命令:
-
yum install -y subversion
复制代码
查看版本可以使用
-
svnserve --version
复制代码
查看安装位置:
-
rpm -ql subversion
复制代码
安装好了svn后就可以创建版本库了比如我在home目录下创建svn,作为后面版本库的文件夹
-
mkdir /home/svn
复制代码
创建版本库:
-
svnadmin create /home/svn/tggui
复制代码
tggui文件夹就是我一个项目的版本库了tggui里面会生成几个文件夹及文件:conf db format hooks locks README.txt
cd /svn/davesvn ls 查看目录下生成的文件 conf 存放版本库所用配置文件的目录 db 版本数据存储目录 format 存储一个整数的文件,此整数代表库层次结构版本 hooks 存放版本库勾子目录 locks 存储库锁目录,用来跟踪库的访问者 README.txt
#!/bin/shexport LANG=zh_CN.UTF-8
svn co svn://[你的ip地址]/davesvn [WEB实际目录]
LOG_PATH=/home/svnlog/fushengtang.logWEB=[WEB实际目录]
REPOS="$1"
REV="$2"
echo `date`,`whoami`,$REPOS,$REV >> $LOG_PATH
svn update --username [刚设置的SVN用户名] --password [刚设置的SVN密码] $WEB --no-auth-cache >> $LOG_PATH
首先配置conf里面的文件
配置用户账号密码:
-
vi /home/svn/tggui/conf/passwd
复制代码
在后面加就行 比如 tggui = tggui666,多个的话继续加,空行就行tgguitest1 = tggui666
tgguitest2 = tggui666
配置权限:
-
vi /home/svn/tggui/conf/authz
复制代码
比如我的 [tggui:/] 然后空行写用户名 = 权限[tggui:/]
tgguitest1 = rw
tgguitest2 = rw
细分的话我这里就不多讲了。
svn服务配置文件:
-
vi /home/svn/tggui/conf/svnserve.conf
复制代码
打开如下注释,并且前面不要留有空格anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /home/svn/tggui //版本库所在
以上配置完后,启动svn才能在服务器上测试,
关闭svn命令为:
-
killall svnserve
复制代码
启动svn命令为:
-
svnserve -d -r /home/svn
复制代码
注:启动命令启动到svn,如果启动到/home,可能就跑不起来哦服务器上测试:
-
svn co svn://localhost/tggui
复制代码
tggui就是我的版本库,跟着提示输入账号密码svn更新自动同步到web目录:
-
svn co svn://localhost/tggui /home/wwwroot/LAMP5.6/domain/tggui66/web/ --username tgguitest1 --password tggui666
复制代码
解释:1、svn://localhost/tggui 为svn版本库
2、/home/wwwroot/LAMP5.6/domain/tggui66/web/ 项目地址(由于我使用的是amh控制面板,所以地址才这么长)
3、 --username tgguitest1 --password tggui666 同步的账号密码
接下就配置hooks了,进入hooks文件夹:
-
cd /home/svn/tggui/hooks
复制代码
复制一份post-commit.tmpl :
-
cp post-commit.tmpl post-commit
复制代码
编辑post-commit:
-
vi post-commit
复制代码
在后面添加如下代码:
#!/bin/sh
export LANG=zh_CN.UTF-8
svn co svn://[你的ip地址]/davesvn [WEB实际目录]
LOG_PATH=/home/svnlog/test.log
WEB=[WEB实际目录]
REPOS="$1"
REV="$2"
echo `date`,`whoami`,$REPOS,$REV >> $LOG_PATH
svn update --username 用户名--password 密码 $WEB --no-auth-cache >> $LOG_PATH
保存退出后把post-commit文件修改下用户组和用户:
-
chown www:www post-commit
复制代码
然后修改post-commit权限:
-
chmod 755 post-commit
复制代码
然后重启svn关闭svn:killall svnserve
启动svn:svnserve -d -r /home/svn
以上操作完成,就可以在客户端使用了。
链接为:svn://服务器ip地址/版本库,比如我的:svn://ip地址/tggui
版权声明:若无特殊注明,本文皆为( yueshuo )原创,转载请保留文章出处。