当前位置 主页 > 服务器问题 > Linux/apache问题 > 最大化 缩小

    Linux下SVN服务器自动更新文件到Web目录的方法

    栏目:Linux/apache问题 时间:2019-03-10 14:03

    这篇文章主要介绍了Linux下SVN服务器自动更新文件到Web目录的方法,需要的朋友可以参考下

    说明:

    服务器操作系统:CentOS
    服务器IP:192.168.21.134
    SVN安装路径:/usr/local/svn
    SVN项目路径:/home/svn
    SVN登录账号:osyunwei
    SVN登录密码:123456
    Web站点根目录:/home/web
    实现目的:

    当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录

    具体操作:

    一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录

    cd /home/svn/hooks
    vi post-commit #编辑,添加以下代码

    #!/bin/shREPOS="$1"REV="$2"SVN_PATH=/usr/local/svn/binWEB_PATH=/home/webSVN_USER=osyunweiSVN_PASS=123456WEB_USER=wwwLOG_PATH=/tmp/svn.logecho `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATHecho `whoami`,$REPOS,$REV >> $LOG_PATH$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATHchown $WEB_USER.$WEB_USER -R $WEB_PATH

    :wq! #保存退出
    chown www:www /home/svn/hooks/post-commit #设置脚本所属用户组,www为web服务运行账户和组
    chmod +x /home/svn/hooks/post-commit #添加脚本执行权限
    说明:
    whoami #执行此程序的用户
    REPOS="$1" #svn项目绝对路径值
    REV="$2" #最新版本号
    --no-auth-cache #不保存账户认证信息

    二、客户端测试

    使用svn客户端添加一个文件之后,Web页面会实时显示出来!如下图所示:

    至此,Linux下SVN服务器自动更新文件到Web目录教程完成。