一.SVN简介
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
二.安装SVN
1.安装SVN
yum -y install subversion
2.查看安装内容与位置
rpm -ql subversion
3.建立SVN根目录
mkdir /home/svn
4.新建版本库:TestCode
svnadmin create /home/svn/ TestCode
注:执行完后,/data/svn/TestCode目录下文件说明
README.txt 版本库的说明文件
conf 配置文件件夹(后续操作最多的文件夹)
db SVN数据文件文件夹
format 当前版本库的版本号
hooks SVN的钩子脚本文件夹
locks SVN的文件锁相关的文件夹
4.TestCode库添加用户、分配权限
A.配置SVN
vim /home/svn/
TestCode
/conf/svnserve.conf
anon-access=none #去除文件前的注释,将read改为none,防止匿名访问
auth-access=write #去除文件前的注释
password-db=passwd #去除文件前的注释
authz-db = authz #去除文件前的注释,访问权限配置,非常重要,不打开,分组权限不生效
注:上面的内容要顶格否则会报错
B.添加访问TestCode用户
vim /home/svn/TestCode/conf/passwd
添加一行
yang = yang
C.设置添加的用户权限
vim /home/svn/TestCode/conf/authz
添加
[/]
yang = rw
* =
D.防火墙开放SVN端口通行
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
重启防火墙使其生效
E.开启SVN服务
svnserve -d -r /home/svn
三.SVN仓库同步web根目录
前置条件打开仓库和web根目录的读写权限
开始配置
cd /home/svn/TestCode/hooks
cp post-commit.tmpl post-commit
#!/bin/sh export LANG=zh_CN.UTF-8 /usr/bin/svn update --username yang --password yang /home/wwwroot/TestCode --force --no-auth-cache
注:上线的TestCode就是仓库的名字下面check的时候会自动创建不需过问
修改文件的可执行权限
chmod 755 post-commit
初次同步需要先check一下
svn checkout svn://{您的服务器地址}:{端口号}/test . //词条要注意两点,一后面要加上空格和一个点,二这个命令是在网站更目录里面同步的