VisualSVN 自动同步更新到网站服务器

lssbing  php

VisualSVN 自动同步更新到网站服务器

基本配置方法: linux

条件:web

1. web 服务器安装 VisualSVN 和 TortoiseSVN windows

2. 客户机安装 TortoiseSVN 服务器

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

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

5. 在 C:\visualSVN\Repositories\web\hooks (根据本身的安装查找) 下创建一个 post-commit.bat 的文件内容以下:post

@echo off测试

"C:\visualSVN\VisualSVN Server\bin\svn.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 Files\VisualSVN Server\bin\svn.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 offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH%;SET WORKING_COPY=D:/PHPNOW/vhosts/home/"E:\Program Files\VisualSVN Server\bin\svn.exe" update %WORKING_COPY% --username name --password pass

相关文章
相关标签/搜索