欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-08-21 20:58:26
说明: 服务器操作系统:centos 服务器ip:192.168.21.134 svn安装路径:/usr/local/svn svn项目路径:/home/svn...

说明:

服务器操作系统: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目录的方法

至此,linux下svn服务器自动更新文件到web目录教程完成。