首先要在服务器搭建 SVN 服务
1、yum install subversion
2、使用rpm -ql subversion可以查看到安装位置则安装成功。
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos 目录自己指定
4、创建版本库
svnadmin create /var/svn/svnrepos 执行完之后生成conf、db、format、hooks、locks、readme.txt 这几个文件
5、进入conf目录
authz文件是权限控制文件
password是帐号密码文件
svnserve.conf 是svn服务配置文件
6、设置帐号密码
vi password
在[users]块中添加用户和密码,格式:帐号=密码,如 myname=123
7、设置权限
vi authz
在末尾添加如下代码:
[/]
myname=rw
意思是版本库的根目录刚才的用户名myname对其有读写权限。
8、修改svnserve.conf文件
vi svnserve.conf
打开这几个注释:
anon-access = read
auth-access = write
password-db = passwd
authz-db=authz
realm=/var/svn/svnrepos 这个修改成刚才创建的版本库
注:以上修改的地方前面不能留有空壳
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
下面就是我们要把代码提交到我们网站的目录的操作了
原理就是利用svn的post-commit将svn服务器的文件同步到固定的目录
cd /var/svn/svnrepos/hooks
cp post-commit.tmpl post-commit
chmod a+x post-commit
编辑post-commit钩子脚本
vi post-commit #修改里面的如下内容
exportLANG=zh_CN.UTF-8
SVN=/usr/bin/svn#这个是安装好的时候查看成功与否看到的那个目录
WEB=/home/myweb#这个就是你每次完成提交svn自动提交到的那个目录
${SVN} update ${WEB} --username myname( 你刚才设置的用户名 ) --password 123( 你刚才设置的密码)
需要说明一下的就是你需要切换到/home/web (你指定svn自动提交的那个目录)下面手动进行一次checkout: svn co svn://localhost(会在刚才的/home/web生成一个localhost文件夹)
用ftp工具到/home/myweb/localhost 下面把里面的.svn放到你的/home/myweb里面这样以后只要从客户端提交代码就会自动同步到你的指定的目录了。