`

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

 
阅读更多

http://www.bestphper.cn/article-132.html

 

通过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

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

分享到:
评论

相关推荐

    linux 安装svn并实现本地同步服务器

    本文将指导读者在 Linux 环境下安装 SVN(Subversion),并使用钩子脚本实现本地提交后自动同步代码文件到服务器的网站目录下。 安装 SVN 首先,使用 yum 命令安装 SVN: `yum install subversion` 安装完成后,...

    Linux下SVN部署

    通过以上步骤,我们可以在Linux环境下成功部署SVN服务器,并且能够实现版本库的创建、项目的导入和检出等功能。整个过程涉及多个软件包的安装和配置,每一步都非常重要。正确配置后,SVN将成为团队协作开发的强大...

    SVN分级授权工具部署手册--Windows用户认证--Visual-SVN-权限

    综上所述,SVN分级授权工具部署手册是一个详尽的技术文档,它不仅指导用户如何在Windows环境下部署和配置SVN服务,还包括了使用SVN分级授权工具进行日常管理和维护的具体操作。通过遵循手册中的步骤,用户可以实现对...

    Linux在线安装svn解决方案

    这通常在/var/svn目录下完成: ``` sudo mkdir /var/svn sudo svnadmin create /var/svn/myrepo ``` 5. **配置SVN服务**: 如果你想让SVN可以通过网络访问,需要配置Apache HTTPD服务器。在Debian/Ubuntu上: ...

    linux和windows域名设置

    - 在Linux系统中,SVN通常安装在`/usr/local`目录下。 - 需要在服务器上创建SVN仓库,并配置访问权限。 - 在Windows系统中也可以安装SVN客户端,用于访问Linux服务器上的SVN仓库。 以上是关于Linux和Windows系统...

    AutoSVN--SVN_linux自动安装

    AutoSVN是一款自动化工具,专为在Linux系统中便捷安装Subversion(SVN)和Apache服务器而设计。Subversion是一个版本控制系统,它允许用户跟踪文件和目录的变化,这对于团队协作和项目管理尤其重要。在Linux环境下...

    svn同步数据

    本文主要介绍如何在Windows和Linux环境下配置Subversion(简称svn)进行数据同步,特别是将svn的提交操作同步到Web服务器的根目录,实现版本控制系统与Web服务的实时联动。 一、Windows下的svn同步配置 1. **安装*...

    svn 以及集成eclipse的插件

    - 解压文件到Eclipse的`dropins`目录(在Windows上通常是`eclipse\dropins`,在macOS/Linux上是`eclipse/dropins`)。 - 重启Eclipse,插件应自动安装并生效。 6. **使用svn插件**:安装完成后,用户可以在...

    SVN + Apache 成功安装部署

    **标题解析:** "SVN + Apache 成功安装部署" 这个标题表明了我们要讨论的是如何在服务器或开发环境中安装并配置Subversion (SVN) 和Apache HTTP Server,以便协同工作,实现版本控制和代码仓库的Web访问。...

    SVN1.4 chm手册

    2. **安装与配置**:详述了如何在不同操作系统上安装SVN服务器和客户端,包括Windows、Linux和Mac OS X等,并指导用户配置SVN服务器,如设置访问权限、备份策略等。 3. **命令行工具**:详细介绍了SVN的命令行界面...

    svn客户端与服务端

    - **Apache Subversion(简称Apache SVN)**:这是最基础的服务器实现,通常与其他Web服务器(如Apache HTTP Server)结合使用。 - **VisualSVN Server**:专为Windows平台设计,提供图形化的管理界面,易于安装和...

    svn密码查询

    如果需要编写脚本自动化处理或批量查询密码,可以使用Windows的`credexport`工具或Linux的`keychain`工具。另外,还有一些专门的小工具,如压缩包中的"svn密码获取小工具",它们提供图形界面,帮助用户方便地查看和...

    svn-book 书籍

    1. **安装与配置**: 书中详细介绍了如何在各种操作系统(如Windows、Linux、Mac OS X)上安装和配置SVN服务器和客户端,以及如何设置用户权限和访问控制。 2. **基本概念**: 了解版本控制系统的核心概念,如工作...

    SVN服务器端.rar

    1. **安装与配置**:在各种操作系统上(如Windows、Linux、macOS)安装SVN服务器,通常涉及安装服务器软件,如VisualSVN Server(Windows)、Apache Subversion(跨平台)或CollabNet Subversion Edge(提供Web界面...

    SVN 代码管理插件

    12. **跨平台**: SVN不仅支持Windows,还支持Linux、macOS等操作系统,具有良好的跨平台性。 总之,"SVN 代码管理插件"提供了高效、稳定的代码版本控制方案,对于团队协作开发来说,是不可或缺的工具。Slik-...

    svn服务器下载

    9. **持续集成与持续部署(CI/CD)**:现代开发流程中,SVN经常与持续集成工具(如Jenkins)和持续部署系统结合,实现自动化构建和部署。 总之,Subversion 1.7版本提供了一个强大且稳定的版本控制系统,适合各种...

    SVN使用手册中文版快速入门

    在Windows XP下,Subversion服务器有时候看起来发送损坏的数据。 跟踪Subversion客户端和Apache服务器通话最好的方法是什么? 我刚刚编译了二进制分发版本,当我尝试检出Subversion,我得到一个“Unrecognized URL...

    svn客户端(包括VS下版本控制)

    - SmartSVN:功能强大的跨平台客户端,支持Windows、Mac OS X和Linux,具有高级的合并工具和冲突解决功能。 - VisualSVN:专为Visual Studio设计的插件,无缝集成到开发环境中,提供IDE内的版本控制操作。 3. SVN...

Global site tag (gtag.js) - Google Analytics