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 #编辑,添加以下代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13#!/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/svnupdate $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自动从仓库拉取代码到项目目录)