linux 安装SVN以及设置钩子文件
1.检查是否安装了低版本的SVN
# rpm -qa | grep subversion
2.卸载旧版本SVN
# yum remove subversion
3.安装SVN
# yum install subversion
#linux系统中安装时候出现的 y/d/n的含义 y下载安装 d只下载不安装 n不安装
4.检查安装是否成功
# svnserve --version
5 创建仓库目录
mkdir -p /mnt/svn/test
6.创建项目
svnadmin create /mnt/svn/test
7.检查是否创建成功
cd /mnt/svn/test ls
如果成功,test目录下会多出几个文件夹
8.进入conf目录会看到3个配置文件,生成的文件中都有英文注释说明,写入以下信息
authz:用户权限配置
[/]
testusername = rw
passwd:用户密码
testusername =123456
svnserve.conf:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /mnt/svn/test
9:启动SVN服务
查看svn进程
ps -ef|grep svn
启动SVN服务
svnserve -d -r /mnt/svn
关闭svn服务
killall svnserve
注意:不是svnserve -d -r /mnt/svn/test
先检出 在本地和服务器客户端都检出 检出命令
10:Svn commit后自动同步到网站根目录的方法
为什么需要同步呢?原因是我们commit的文件其实是提交到了svn的仓库中,
svn仓库不是一个实际的网站根目录。流程如下:本地文件commit到仓库->仓库同步到根目录,
可以把仓库理解为一个中转站。进入到项目下的hooks文件夹
cd /home/svn/test/hooks
把post-commit.tmpl的扩展名去掉,并赋予777权限。然后vim post-commit写入如下内容。去掉扩展名命令行 cp post-commit.tmpl post-commit
给post-commit权限 chmod -R 777 post-commit
#!/bin/sh
export LANG=zh_CN.UTF-8
svn co svn://120.27.38.172/www.zzx.cloud /mnt/www/wwwroot/www.zzx.test0409
chgrp www /mnt/www/wwwroot/www.zzx.test0409 -R
chown www /mnt/www/wwwroot/www.zzx.test0409 -R
chmod -R 777 /mnt/www/wwwroot/www.zzx.test0409/app
chmod -R 777 /mnt/www/wwwroot/www.zzx.test0409/extend
chmod -R 777 /mnt/www/wwwroot/www.zzx.test0409/vendor
chmod -R 777 /mnt/www/wwwroot/www.zzx.test0409/public/static
chmod -R 777 /mnt/www/wwwroot/www.zzx.test0409/public/wximage
chmod -R 777 /mnt/www/wwwroot/www.zzx.test0409/thinkphp
REPOS="$1"
REV="$2"
最后:
在你的项目目录下检出 检出svn co svn://你的ip/你的版本库名称