zoukankan      html  css  js  c++  java
  • VisualSVN 自动同步更新到网站服务器

     

    基本配置方法: 

    条件:

    1. web 服务器安装 VisualSVN 和 TortoiseSVN 

    2. 客户机安装 TortoiseSVN 

    3. 同时在客户机和服务器创建 web 目录 , 这两个目录都是连接 VisualSVN 的

    4. 同时checkout 下文件 , 使这两个目录保持版本一致,最好不要直接编辑 服务器上的 web 目录文件 防止同步错误

    5. 在 C:visualSVNRepositorieswebhooks (根据自己的安装查找) 下建立一个 post-commit.bat 的文件内容如下:

    @echo off

    "C:visualSVNVisualSVN Serverinsvn.exe" update "D:webHost" --username svn --password 000000

    解析:

    "svn的程序" update "服务器web 目录" --username 用户名 --password 密码


    这里hooks 下有 post-commit 模板文件,不过是 linux 下用的例子

    post-commit.bat 的作用就是在你用 Tortoise 进行 commit 成功后,执行一个批处理,就是 post-commit.bat 的文件。 

    我这里只说一下关键点吧:知道这些关键点就不会出现上述问题了:

    1. visualSVN 必须设置成 不用 https 来访问的 方式连接

    2. 如 果你现在遇到上面错误时已经使用了这种https方法,那么就重新设置一下,设置为没有https的方法进行访问! 并重启 visualSVN ,然后 将你的已经 checkout 的文件夹删除,重新以新的连接方式 checkout 下来 ,然后再试 因为你以前 checkout 用的 是 443 的方法, 再执行 post-commit.bat 时总是调用 443 这个连接, 所以要删除并checkout 一下.



    方法二
    步骤:
       1. 安 装VisualSVN Server 2.0.7,整个安装过程非常简单,安装完就可以在windows的管理页面看到了,设置也比较简单。但是安装完默 认使用SYSTEM用户来执行,对目录没有写的权限,会导致执行第4步Hook脚本失败,所以还需要修改一下VisualSVN Server服务的登录 用户,我这里将其设置为了Administrator 。
     
          如图:
     
       2. 设置网站根目录(如:e:web) 为SVN工作目录,从版本库下载所有文件
     
       3. 在hook目录中创建一个文件post-commit.bat (注意:windows下有效的脚本类型可以是,.bat .com .exe 或其他有效的Python脚本,perl脚本),因为不需要太复杂的功能,所以使用bat是最简单的。
     
       4. 编辑 post-commit.bat 内容为:
     
           "E:Program FilesVisualSVN Serverinsvn.exe" update "e:web" 
     
     
     
          这段代码意思是使用SVN从版本库更新网站根目录
    Ok, 就这么几步,我在设置的时候,由于还不知道VisualSVN Server的执行权限问题,导致每次 commit 后客户端都停止响应,但自己执 行 post-commit.bat 又没有什么问题,最后反复查找才发现了问题所在,记录下来,希望能给遇到相同问题的朋友一点帮助

    提交到SVN服务器后,自动发布到web测试服务器,免去在web服务器手动更新的操作。 

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


    SET REPOS=%1
     
    SET USER=%2
     
    SET SVN="D:/Program Files/VisualSVN Server/bin/svn.exe"
     
    SET DIR="E:/php/AppServ/www/cms"
     
    SVN update %DIR%
     
    (call %SVN% update %DIR% --username moqidian --password 123456 --non-interactive)


     @echo off
    SET REPOS=%1
    SET REV=%2
    SET DIR=%REPOS%/hooks
    SET PATH=%PATH%;
    SET WORKING_COPY=D:/PHPNOW/vhosts/home/
    "E:Program FilesVisualSVN Serverinsvn.exe" update %WORKING_COPY% --username name --password pass

  • 相关阅读:
    leetcode:Valid Parentheses(有效括号匹配)
    leetcode:Remove Nth Node From End of List (移除从尾部数的第N个节点)
    leetcode:Letter Combinations of a Phone Number(手机号码的字母组合)
    leetcode:4Sums(四个数相加的和)
    leetcode:3Sum Closest
    leetcode:3Sum (三个数的和)
    leetcode:Longest Common Prefix(取最长字符串前缀)
    php数据访问
    PHP 基础知识测试题
    面相对象设计模式
  • 原文地址:https://www.cnblogs.com/gzmg/p/3656675.html
Copyright © 2011-2022 走看看