zoukankan      html  css  js  c++  java
  • svn服务器端的客户端自动更新

    先说这个方式的一个弊端,那就是服务器端这边代码不能与svn服务器出现冲突,一旦冲突就失效。

    实现原理是,利用svn版本库,hooks目录的bat钩子开展工作。

    共在hooks目录下建立3个文件如下:
    post-commit.bat 作用是:钩子入口!
    postcommit.log 作用是:记录最后一次执行的结果(可以记录最后一次报错)建立一个空文件就好!
    post-commit-run.bat 作用是:自动更新的核心部分!

    post-commit.bat的代码是:

    call %~dp0post-commit-run.bat %* > %~dp0postcommit.log 2>&1

    post-commit-run.bat的代码是:

    @echo off

    SET REPOS=%1
    SET REV=%2

    SET DIR=%REPOS%/hooks
    SET PATH=%PATH%;

    SET WORKING_COPY=D:/Websites/www
    svn update %WORKING_COPY% --username your_name --password your_pwd

    注意填写客户端地址、用户名和密码,这里的是:D:/Websites/www、admin和123456. 

     hooks目录地址:配置密码那边,如图

    另外一个别人的博客,大同小异,只是比较简单,没有做日志而已

    在Windows 03 Server上搭建了 VisualSVN 服务器,想要设置成当提交到SVN中的任何修改都同步更新到本机服务器上的WEB目录下。

    根据网上各种版本的参考,基本上上使用svn自带的hook功能实现:

    在SVN 项目版本的存储目录的hooks 目录中,建立一个post-commit.bat 文件:

    @echo off

    SET REPOS=%1
    SET REV=%2

    SET DIR=%REPOS%/hooks
    SET PATH=%PATH%;

    SET WORKING_COPY=D:/Websites/www
    svn update %WORKING_COPY% --username your_name --password your_pwd

    注意事项:

    1.需要将SVN服务器的bin目录加入到path路径中,加入后,未重启,在命令行下path值立即生效,但是SVN服务器却无法找到,总是提示:

    警告: post-commit hook failed (exit code 1) with output:
    'svn' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    2.需要设置SVN服务对文件桌面系统权限,否则会报无法读写文件的错:

    选择本地系统账户,并勾选 允许服务与桌面交互

    image

    OVER

    ORG: http://blog.donews.com/me1105/archive/2010/12/05/82.aspx

  • 相关阅读:
    POJ 3458 Colour Sequence(简单题)
    Cygwin下vim按方向键出现ABCD;
    算法之旅——归并排序
    poj 2769 Reduced ID Numbers(memset使用技巧)
    Restlet+Fastjson 高速构建轻量级 Java RESTful Webservice
    poj 1659 Frogs' Neighborhood (度序列)
    PHP监測memcache服务端的执行状况
    机器学习之倚门回首嗅青梅
    Threejs 官网
    sqlserver安全加固
  • 原文地址:https://www.cnblogs.com/hfdp/p/5550561.html
Copyright © 2011-2022 走看看