- 查看是否已经安装了svn
svnserve --version
- 没有安装的话安装subversion,直接用yum 安装
yum install -y subversion
- 启动svn
svnserve -d -r /svn
如果报如下的错误
svnserve: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
找不到libaprutil-1.so.0,于是
find / -name libaprutil-1.so.0
结果
/www/server/apache/lib/libaprutil-1.so.0
将apr依赖包添加到共享库
more /etc/ld.so.conf
出现
include ld.so.conf.d/*.conf
创建apr共享库配置文件
cd /etc/ld.so.conf.d/
vi httpd-apr.conf
添加
/www/server/apache/lib/
更新共享库配置
ldconfig -v
- 检测是否安装成功
svn --version
-
创建svn目录
根目录下创建文件夹mkdir /svn
-
创建svn版本库
要几个svn文件夹,对应创建几个版本库,这里举例2个
svnadmin create /svn/demo1 ##创建demo2版本库
svnadmin create /svn/demo2 ##创建demo2版本库
-
配置相关信息
打开conf文件夹,可以看到下面3个文件 也可以直接用宝塔打开编辑
-
打开passwd,输入想设置aa版本库的账号密码,如 账号:root密码:root
-
打开authz,在最下面增加入相关信息。参考默认的自行修改
-
打开svnserve.conf,修改相关配置信息。
操作完毕,进入demo1文件夹,再进行一遍相同操作,配置demo1库的信息 -
配置钩子,让代码同步自动更新(可以不设置) 进入hooks文件夹
复制一份post-commit.tmpl为post-commit,并修改:post-commit内容,为:
#!/bin/sh
export LANG=zh_CN.UTF-8 #(这句话比较重要,如果客户端跟服务器编码不一样会出现同步失败)
SVN_PATH=/usr/bin/svn #代表你的svn服务文件地址 如果是通过yum安装的话,或者已经注册了svn服务,则可以直接使用svn,不需要输入全路径)
WEB_PATH=/www/wwwroot/tp5 #你的web目录(将要同步过去的web项目路径)
LOG_PATH=/tmp/svn_update.log #同步日志
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH update --username 账号--password 密码 $WEB_PATH --no-auth-cache >> $LOG_PATH
- 然后现在去你填写的WEB_PATH那里的上一层目录,也就是/www/wwwroot然后在这里:
svn checkout svn://ip/仓库/
- 配置防火墙端口(如果需要)/或者直接在服务器安全组开放3690默认端口,在宝塔上添加3690端口
vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启
service iptables restart
- 启动svn
先关闭svn服务:killall svnserve
再启动svn服务:svnserve -d -r /svn
- 查看svn是否运行命令
ps aux | grep svnserve 或者 ps -ef | grep svn
- 访问方式
demo1库:svn://ip地址/demo1
demo2库:svn://ip地址/demo2