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服务对文件桌面系统权限,否则会报无法读写文件的错:

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

OVER

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

时间: 2024-10-09 07:21:54

svn服务器端的客户端自动更新的相关文章

分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2

ubuntu 下搭建svn服务器,以及自动更新到web服务器。

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在网上找了很多的教程,但是试了很多个.写的都是略微粗糙,也有很多问题.整了三天终于是搞定了.我在这整理下,发上来给大家看看.希望有相同需求的道友少走些弯路.大家有什么问题可以在下面留言.</span> <span style="font-family: Ari

配置SVN的hooks功能自动更新代码

前言解读 用过SVN的小伙伴们,都应该知道hooks(钩子)这个功能,的确日常企业内部测试环境经常会用过这个"特殊"的功能,今天来聊一聊SVN hooks 为何而用? 传统的WEB网站代码发布基本依靠手工操作 大概的整个流程如下: 开发本地环境开发代码 提交SVN版本库 然后将本地环境代码使用工具上传至待发布目录 备份原WEB站点代码目录 发布新代码至WEB目录 基于这类重复操作的问题,为了提高效率,因此,引入了SVN hooks功能 配置SVN hooks SVN安装这里就不赘述了,

WIN7下安装SVN服务器端及客户端搭建协作环境

一.客户场景: 客户现场需要在虚拟机上封闭开发,所以需要搭建一个SVN协作开发环境,客户提供了一台全新的裸机安装的操作系统是WIN7旗舰版64位. 二.SVN服务器搭建 1. SVN服务器版本 使用的是Setup-Subversion-1.7.8.msi 2. 搭建步骤: 2.1 安装SVN服务器 双击执行"Setup-Subversion-1.7.8.msi",安装SVN服务器,安装过程基本可以按照默认执行,安装目录可以自行配置,我配置的安装目录是C: \Subversion\ .安

SVN服务器端和客户端的搭建与使用

先下载 下载服务器端(有好几种类型,我还是喜欢图形化界面操作的) 下载地址:https://www.visualsvn.com/server/download/ 基本都是直接下一步 下载客户端 下载地址:https://tortoisesvn.net/downloads.html 全程下一步就可以了 搭建服务器 创建用户 新建分组 导入项目 原文地址:https://www.cnblogs.com/IceBlueBrother/p/11378076.html

svn利用钩子post-commit自动更新到线上测试服务器

创建一个新的版本库: [[email protected] svn]# pwd /home/svn [[email protected] svn]# svnadmin create webtest [[email protected] svn]# tree webtest/ webtest/ ├── conf │   ├── authz │   ├── passwd │   └── svnserve.conf ├── db │   ├── current │   ├── format │   ├

统一关闭域客户端自动更新服务

配置策略1: 客户端测试: 配置策略2: 客户端验证:

WCF实现客户端自动更新-GenerateFileList

GenerateFileList 1 using System; 2 using System.Collections.Generic; 3 using System.Diagnostics; 4 using System.IO; 5 6 namespace GenerateFileList 7 { 8 public class Generator 9 { 10 private readonly string _appPath = AppDomain.CurrentDomain.BaseDire

WCF实现客户端自动更新

IServiceUpdate 1 using System.IO; 2 using System.ServiceModel; 3 using System.ServiceModel.Web; 4 5 namespace ServiceUpdater 6 { 7 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IServiceUpdate”. 8 [ServiceContract] 9 public interface IServiceUpdate 10 {