linux安装SVN并设置SVN钩子

检查已安装版本

检查是否安装了低版本的SVN

rpm -qa subversion

卸载旧版本SVN

yum remove subversion

一.安装SVN

yum -y install subversion

验证安装
检验已经安装的SVN版本信息

svnserve --version

代码库创建
SVN软件安装完成后还需要建立SVN库

mkdir -p /www/svn/tata
svnadmin create /www/svn/tata

执行上面的命令后,自动建立tata库,查看/www/svn/tata 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库
进入上面生成的文件夹conf下,进行配置

cd /www/svn/tata/conf

用户密码passwd配置

vim passwd

修改passwd为以下内容:

[users]
# harry = harryssecret
# sally = sallyssecret
tata=123456

权限控制authz配置

vim authz

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=tata,company
[/]
@admin=rw

服务svnserve.conf配置

vim svnserve.conf

追加以下内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = My First Repository

启动SVN

svnserve -d -r /www/svn/tata

查看SVN进程

ps -ef|grep svn|grep -v grep

检测SVN 端口

netstat -ln |grep 3690

停止重启SVN
另外提供关闭svn的命令:killall svnserve
开启是svn的命令:svnserve -d -r /www/svn/tata

二.设置钩子自动更新
实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
第一步:建立你的web程序目录

mkdir /var/www/html/tata

进入你建立的web程序目录(svn checkout可以简写为co),宝塔一般在wwwroot目录

svn checkout svn://localhost/svntest //不重命名文件夹,直接在当前目录下检出
svn checkout svn://localhost/svntest test //检出文件并且重命名文件夹

第二步:在项目库的 hooks/ 目录下将post-commit.tmpl文件复制一份并命名为 post-commit 文件 【钩子脚本】

添加脚本内容如下

#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin
WEB_PATH=/www/wwwroot/test
SVN_USER=userName
SVN_PASS=userPwd
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache

第一行必须加上,不然会报错:post-commit hook failed (exit code 255) with no output.
其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录

第三步:让post-commit有执行的权限

chmod a+x post-commit
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容