windows与linux下SVN实现自动更新WEB目录的方法分享
时间:2014-09-15 03:25 来源:linux.it.net.cn 作者:it
在用SVN进行版本库管理时,每次提交后,都要在SVN服务器更新最新上传的版本到WEB目录进行同步。
思路:
使用SVN钩子脚本进行WEB目录同步。
由于测试机器与SVN库都在同一台机器里,所以处理起来比较方便。
svn项目下的hooks目录,保存了全部的钩子脚本的模板:
post-commit.tmpl 为客户端commit提交后触发
下面来学习windows和linux下自动更新版本库的方法:
在SVN 项目版本库的存储目录下的hooks 目录,新建立一个post-commit.bat 文件:
windows:
复制代码代码示例:
@echo off
SET REPOS=%1
SET REV=%2
SET DIR=%REPOS%/hooks
SET PATH=%PATH%;
SET WORKING=E:/www/o135
svn update %WORKING% –username o135 –password o135123
注意:以上方法必须把SVN服务器安装目录下的bin加入到path路径(环境变量)中。
SVN通过setup进行安装,默认会将bin目录增加到path路径中,如果通过压缩包进行安装,必须要手动增加。
测试此脚本是否出错,可在cmd命令行里输入:
C:\Documents and Settings\Administrator>e:/svn/hooks/post-commit.bat 进行测试。
出现以下信息则表明脚本成功执行:
C:\Documents and Settings\Administrator>e:/svn/hooks/post-commit.bat
正在升级 ‘E:\www\o135′:
版本 15。
红色部分是版本库的位置,请根据实际情况修改。
以后不管那台机器,只能通过svn commit命令,都会触发此脚本,自动同步web目录中。
下面来看linux下的操作方法。
linux下原理跟windows是一样的。只是新建的文件名不一样。
在SVN 项目版本库的存储目录下的hooks 目录,新建立一个post-commit文件:
vi post-commit
增加代码:
复制代码代码示例:
#!/bin/sh
WEB=/home/data/jbxue
export LANG=en_US.UTF-8
svn update $WEB –username jbxue –password jbxue123
保存,退出。
权限:
复制代码代码示例:
chmod 777 post-commit
测试,看脚本是否有权限问题:
复制代码代码示例:
./post-commit
以后每次客户端提交操作,就会自动运行该脚本。
(责任编辑:IT)
在用SVN进行版本库管理时,每次提交后,都要在SVN服务器更新最新上传的版本到WEB目录进行同步。
思路:
svn项目下的hooks目录,保存了全部的钩子脚本的模板:
下面来学习windows和linux下自动更新版本库的方法:
复制代码代码示例:
@echo off
SET REPOS=%1 SET REV=%2 SET DIR=%REPOS%/hooks SET PATH=%PATH%; SET WORKING=E:/www/o135 svn update %WORKING% –username o135 –password o135123
注意:以上方法必须把SVN服务器安装目录下的bin加入到path路径(环境变量)中。
测试此脚本是否出错,可在cmd命令行里输入: 以后不管那台机器,只能通过svn commit命令,都会触发此脚本,自动同步web目录中。
下面来看linux下的操作方法。
在SVN 项目版本库的存储目录下的hooks 目录,新建立一个post-commit文件:
复制代码代码示例:
#!/bin/sh
WEB=/home/data/jbxue export LANG=en_US.UTF-8 svn update $WEB –username jbxue –password jbxue123 保存,退出。
权限:
复制代码代码示例:
chmod 777 post-commit
测试,看脚本是否有权限问题:
复制代码代码示例:
./post-commit
以后每次客户端提交操作,就会自动运行该脚本。 |