热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了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/sh
REPOS="$1"
REV="$2"
SVN_PATH=/usr/local/svn/bin
WEB_PATH=/home/web
SVN_USER=osyunwei
SVN_PASS=123456
WEB_USER=www
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
chown $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目录教程完成。


推荐阅读
author-avatar
那尼1_388
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有