VisualSVN Server + Tortoise SVN windows平台快速搭建SVN服务器(带SVN Hooks(钩子)bat脚本自动更新测试网站)使用教程

[三木]十分钟系列教程快速导读
第一篇:[三木]十分钟教程之本地安装搭建Ubuntu12.04+Apache+PHP+MySQL+phpMyAdmin+Git+Gitweb(带LAMP全自动安装shell脚本)

第二篇:[三木]十分钟教程之服务器安装搭建CentOS6.x+Nginx+PHP+MariaDB(MySQL)+phpMyAdmin+Git+Gitweb(带LAMP全自动安装shell脚本)

第三篇:PHP环境搭建:Windows 7下安装配置PHP(VC6)+Apache+Mysql+phpMyAdmin环境教程(带自启动bat脚本)

第四篇:[三木]十分钟教程之本地安装搭建Ubuntu12.04+Java7+ZendStudio9.03汉化破解(带全自动安装shell脚本)

第五篇:[三木]十分钟教程之CenotOS6.x字符(最简化)安装+网卡设置+更新yum源(带自动设置网卡和更新yum源shell脚本)

第六篇:[三木]十分钟教程之CenotOS5.x 6.x服务器初始化安全设置+用SSH Key远程登录linux服务器(带自动设置shell脚本)

第七篇:[三木]十分钟教程之CentOS6.x安装搭建Apache+MariaDB(MySQL)+PHP+SSL+phpMyAdmin+Git+Gitweb(带LAMP服务器全自动安装shell脚本)

第八篇:VisualSVN Server + Tortoise SVN windows平台快速搭建SVN服务器(带SVN Hooks(钩子)自动更新测试网站)使用教程

 

这篇教程主要是分享提交代码后,通过Hooks(钩子)自动更新测试网站,从而不用人工更新而达到自动同步的效果的钩子bat脚本。

VisualSVN一windows平台快速搭建SVN服务器
VisualSVN Server + Tortoise SVN windows平台快速搭建SVN服务器(带SVN Hooks(钩子)自动更新测试网站)使用教程

SVN Hooks(钩子)的使用 (1) .

tags:svn,hooks,svn钩子,

VisualSVN的安装和设置请参考教程:
VisualSVN一windows平台快速搭建SVN服务器:http://blog.163.com/c_ear/blog/static/1858731572011614111848649/
Tortoise SVN 的使用请参考教程:
VisualSVN Server + Tortoise SVN 使用教程(补充版):http://blog.163.com/c_ear/blog/static/18587315720116141052271/
关于SVN Hooks(钩子)的使用请参考教程:
关于SVN Hooks(钩子)的使用:http://www.cnblogs.com/aaa6818162/archive/2012/07/27/2612606.html

post-commit实现自动更新测试网站的post-commit.bat脚本代码:

@echo on
setlocal EnableDelayedexpansion
::版本库物理地址
SET REPOS=%1
::所要同步的版本号
SET REV=%2
SET DIR=%REPOS%/hooks
SET PATH=%PATH%;
::svn主程序路径
set SVNPATH="D:\data\soft\VisualSVN Server\bin/svn.exe"
::svnlook程序地址
set SVNLOOK="D:\data\soft\VisualSVN Server\bin/svnlook.exe"
::版本库地址
set REPOPATH=file:///D:/data/wwwroot/svn/weiguilin/trunk
::站点文件夹路径,末尾的反斜杠不能少
SET WORKING_COPY=D:\data\wwwroot\web\weiguilin\weiguilin
::设置字符编码,否则会出现字符编码转换错误的提示,导致同步失败
export LC_ALL="zh_CN.utf8"

::svn账户名称
::set USER=linmaogan
::svn账户密码
::set PASS=123456

::临时文件完整路径
set TEMPFILE=D:\data\soft\weiguilin%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%.txt

::读取当前提交版本的用户名
AUTHOR=`svnlook author -r $REV $REPOS`
::读取当前提交版本的注释信息
::LOG=`svnlook log -r $REV $REPOS`

::更新
if exist "%WORKING_COPY%" (

::如果当前提交版本用户为duizhang则同步更新到 网站根目录
::if [ $AUTHOR = "duizhang" ];then
::svn update $WEB_ROOT --username duizhang --password 123456 --no-auth-cache
::fi

%SVNLOOK% changed %REPOS%>>%TEMPFILE%
for /f "tokens=2 delims= " %%i in (%TEMPFILE%) do (
set m=%%i
::测试站点更新,注意对m进行字符串截取起始值
%SVNPATH% update %WORKING_COPY% --username %USER% --password %PASS% --no-auth-cache

)
)

::检出
if not exist "%WORKING_COPY%" (
%SVNPATH% checkout %REPOPATH% %WORKING_COPY% --username %USER% --password %PASS%
)

::删除临时文件
del /q %TEMPFILE%

发表评论?

0 条评论。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据