windows,linux下SVN实现自动更新WEB目录

通过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/o135
export LANG=en_US.UTF-8
svn update $WEB --username o135 --password ‘o135123‘

保存,退出。。

给予此脚本的权限:

chmod 777 post-commit

测试一下,看脚本是否有权限问题

./post-commit

以后每次客户端提交操作,就会自动运行该脚本。

时间: 2024-08-01 02:21:01

windows,linux下SVN实现自动更新WEB目录的相关文章

Linux下svn提交文件后自动同步更新到网站目录

有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkout代码,例如我的目录是/data/www/test svn co https://127.0.0.1/test/trunk//data/www/test/ 注意,这是因为有时我会在服务器上直接修改代码,所以用checkout,如果不需要,可以用export,此指令不带.svn版本文件. 迁出代码后,

解决Linux下Svn检出Windows SVN服务器上项目SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

在Linux上检出windows SVN服务器上项目时出现了SSL handshake failed: SSL error: Key usage violation in certificate has been detected.的错误. 最后通过从网上检索找到了一个答案: 可以同时解决掉在Ubuntu上和CentOS上检出失败的问题. 在Windows注册表中加入注册项: 32位机器: [HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Serv

linux下svn 搭建

linux 下SVN搭建加自动提交更新到指定目录 一.安装 #yum install subversion    yum安装SVN #mkdir -p /opt/svn/repos    创建svn目录 #svnadmin create /opt/svn/repos  生成SVN配置文件 二.编辑配置文件 #vim /opt/svn/repos/conf/passwd [users]# harry = harryssecret# sally = sallyssecretnxeon = 123用户

linux 下 svn 服务器搭建与配置

Subversion是一个自由,开源的版本控制系统,可以记录每一次文件和目录的修改情况.这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节. linux 下 svn的搭建 首先安装 subversion yum  install -y subversion 使用rpm -qa subversion 查看是否安装完成 安装完成后进行配置 首先在home 下建立svn的数据目录和密码认证目录 说明: svndata 目录用于存放项目目录,svnpassw 目录存放密码及认证文件 在svn

linux下svn常用指令

windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的操作都是通过命令行来进行,所以必须得掌握linux下svn的常用指令.当然linux下也有模仿TortoiseSVN的linux X程序,例如RabbitVCS,模仿程度很高,但很容易拖慢X,因此不推荐. (如果是第一次提交文件,很可能会出现"svn:'.'不是工作副本",即当前目录不是工

Linux下SVN服务器安装配置及客户端安装说明

原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_zf7k6J6EHSszq4ZU_Tyn0JimTKV8SzI9Ac4veaxCG3im Linux 下 SVN 服务器安装配置 第一章 安装 1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.1.tar.gz ( subversion 源文件) subversion-de

linux下svn常用指令(转)

一下内容转载于:http://blog.chinaunix.net/space.php?uid=22976768&do=blog&id=1640924.这个总结的很好~ windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的操作都是通过命令行来进行,所以必须得掌握linux下svn的常用指令.当然linux下也有模仿TortoiseSVN的lin

Linux下svn常用指令【转】

转自:http://blog.csdn.net/myarrow/article/details/8110858 Windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的操作都是通过命令行来进行,所以必须得掌握linux下svn的常用指令.当然linux下也有模仿TortoiseSVN的linux X程序,例如RabbitVCS,模仿程度很高,但很容易拖慢

[转载]linux下svn常用指令

windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的操作都是通过命令行来进行,所以必须得掌握linux下svn的常用指令.当然linux下也有模仿TortoiseSVN的linux X程序,例如RabbitVCS,模仿程度很高,但很容易拖慢X,因此不推荐. (如果是第一次提交文件,很可能会出现“svn:'.'不是工作副本”,即当前目录不是工作副本,这