一、搭建svn环境并创建仓库
1、安装Subversion
yum install -y subversion
2、检测是否安装成功(查看svn版本号)
svnserve --version
3、创建版本库
//先建目录
mkdir /var/svn
sudo chmod -R 777 /var/svn
cd /var/svn
//创建版本库
svnadmin create /var/svn/project
cd project
ls -a
//自动生成的版本库文件
conf db format hooks locks README.txt
svn环境搭建成功。
二、配置
进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
设置帐号密码
sudo vim passwd
在[users]块中添加用户和密码,格式:帐号=密码,如junwei = junwei 完整内容参考下面:
[users]
june = june
junwei = junwei
设置权限
sudo vim authz
完整内容参考下面:
[aliases]
[groups]
admin=june //创建一个组,并制定用户
user=june,junwei
[/]
@admin=rw
@user=rw
修改svnserve.conf文件
sudo vim svnserve.conf
完整内容参考下面:
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/svn/project
# force-username-case = none
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
启动svn版本库
sudo svnserve -d -r /var/svn
三、实现svn更新自动同步到web目录:
进入/var/svn/project/hooks下,建立post-commit文件:
cd /var/svn/project/hooks
vim post-commit
//在该文件里添加如下代码,保存
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //这里不用改
WEB_PATH=/var/www/html //web目录,如果你的不同,可以改
//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username 'junwei' --password 'junwei' --no-auth-cache
保存退出。
给post-commit 执行权限:
chmod 755 post-commit