宝塔 linux版安装 svn 并自动同步代码

  • 查看是否已经安装了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
展开阅读全文

没有更多推荐了,返回首页