一、安装
#yum install subversion
检查是否安装了svn
#subversion –v
创建svn库和对应的目录
#mkdir /svn/www.test.com
#svnadmin create /svn/www.test.com
二、配置
创建登录svn的用户和密码
#vim /svn/www.test.com/conf/passwd
[users]
用户名=密码
设置svn用户权限
#vim /svn/www.test.com/conf/authz
[/]
用户名=rw
设置svn主配置文件
#vim /svn/www.test.com/conf/
anon-access=none #使非授权用户无法访问
auth-access=write #使授权用户有写权限
password-db=password
authz-db=authz #启用访问控制文件
realm=/svn/www.test.com #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
启用svn:#svnserve –d –r /svn/www.test.com
注可以用—listen-port 参数修改svn的端口
三、连接svn
1、linux主机连接svn
#svn co svn://192.168.1.180
输入用户名和密码后就可以将svn上的数据下载到本地。
2、windows主机连接svn
利用TortoiseSVN工具进行连接。
四、利用svn的post-commit将svn服务器的文件同步更新到固定的目录
#cd /svn/www.test.com/hooks
#cp post-commit.tmpl post-commit
#chmod a+x post-commit
编辑post-commit钩子脚本
#vim post-commit
export LANG=zh_CN.UTF-8 #设定环境变量,如果没有设定可能会出现update报错
SVN=/usr/bin/svn
WEB=/usr/local/apache/htdocs/192.168.1.180
${SVN} update ${WEB} --username rsync --password rsync
注:WEB中指定的目录不能为空目录,需要先checkout
 
报错注解,及解决办法:
1、
svn: Error converting entry in directory '/usr/local/apache/htdocs/192.168.1.180' to UTF-8
svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\229?\164?\141?\228?\187?\182 ?\229?\164?\141?\228?\187?\182 ?\229?\164?\141?\228?\187?\182 ?\229?\164?\141?\228?\187?\182 rsync-3.0.9.tar.gz
原因:svn服务器上的文件存在编码为UTF-8的文件,如果服务器不支持UTF-8编码就会报这个错误。
解决办法:在post-commit钩子脚本中,添加export LANG=zh_CN.UTF-8字段,更改环境变量中的编码。
2、
Skipped '/usr/local/apache/htdocs/192.168.1.180'
这个时候使用命令svn update命令会提示
Skipped ‘.’
原因:192.168.1.180是一个空目录或这个目录不存在
解决办法:先进行手工的checkout,之后再post-commit中将目录指定到checkout的目录,就解决了。
 
 
转自:http://blog.51cto.com/songknight/742725

svn+post-commit实现自动部署(转)的更多相关文章

  1. ant+svn+tomcat实现项目自动部署

    因工作需要,研究并实现了 ant+svn+tomcat实现项目自动部署,其中参考了下面文章:http://www.cnblogs.com/taoweiji/p/3700915.html jar包需要e ...

  2. CentOS的SVN服务器搭建与自动部署全过程

    CentOS的SVN服务器搭建与自动部署全过程 http://www.jb51.net/article/106218.htm authz-db = authz 引起的 svn 认证失败 http:// ...

  3. Linux下SVN+多个Tomcat自动部署

    项目中都是jsp开发,所以用到Tomcat. 在我文章中也写过多个Tomcat 的部署,具体可以参考:http://www.cnblogs.com/magmell/p/7045193.html SVN ...

  4. windows svn 上传后 自动部署 到web目录下

    第一步 把web目录设置为工作目录 "D:\Program Files (x86)\VisualSVN Server\bin\svn.exe" upgrade "D:\y ...

  5. svn hooks post-commit钩子自动部署

    #!/bin/sh #修改为服务编码 export LANG=zh_CN.utf- #Set variable REPOS="$1" REV="$2" SVN= ...

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

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

  7. 在linux服务器上装svn版本管理,自动部署代码到项目

    在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw ...

  8. window、linux系统与linux服务器之间使用svn同步及自动部署代码的方法

    摘要: 在家用PC,在公司用办公电脑对一个项目的代码进行修改时,会遇到代码同步的问题.本文讲解了代码同步及自动部署的解决办法. 实现方法: 1.首先在linux服务器上和linux上安装svn(sud ...

  9. 在linux服务器上装svn版本管理,自动部署代码到web项目

    在linux服务器上装svn版本管理,自动部署代码到项目 1.安装svn服务器端  yum install subversion   从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认  ...

  10. svn+jenkins自动部署

    需求:项目经理想要将原型图修改完后直接发布 前置条件: 已经有了svn服务器,并正常使用 已经有了jenkins服务器,之前搭建的gitlab+jenkins, 如需搭建jenkins,参考 http ...

随机推荐

  1. 快速求1~n的k!,k的逆元

    1.求1~n的k! 2.求inv(k!) 3.inv((k-1)!)=inv(k!)*k%mod 4.inv(k)=inv(k!)*((k-1)!)%mod 如 https://www.cnblogs ...

  2. leetcood学习笔记-58-最后一个单词的长度

    题目描述: 第一次解答: class Solution: def lengthOfLastWord(self, s: str) -> int: L=s.strip().split(" ...

  3. mui框架页面每次加载操作

    最近在优化自己用mui开发的app,主要还是针对交互这块儿,这里简单给大家说一下问题点场景,就是我是通过动态添加底部tabBar的方法创建了一个底部可以切换的操作区域,代码如下: mui.init() ...

  4. bzoj1057: [ZJOI2007]棋盘制作 [dp][单调栈]

    Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源 于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应 ...

  5. 数据结构C++版-队列

    一.概念 分类: 二.补充说明 1.<面向对象的队列设计>课程问答: 首先要明确数据结构和数据存储结构的概念. 数据结构是指数据对象之间的逻辑关系,例如二叉树,队列,栈等,而数据存储结构是 ...

  6. AtCoder ABC 132E Hopscotch Addict

    题目链接:https://atcoder.jp/contests/abc132/tasks/abc132_e 题目大意 给定一张 N 个点 M 条边无自环无重边的一张有向图,求从起点 S 能否三步三步 ...

  7. Git及github使用(二)上传项目

    接上篇中创建好的项目. 1.进入到相应的目录右键Git bash here打开客户端 2.创建一个readme文本 $ echo "# Python日常记录积累" >> ...

  8. org.apache.jasper.JasperException: Unable to compile class for JSP: Invalid character constant

    这里不能用单引号,只能为双引号 request.setCharacterEncoding('gb2312');    String user = request.getParameter(" ...

  9. JS与Jquery的事件委托机制

    传送:http://www.ituring.com.cn/article/467 概念: 什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委 ...

  10. Codeforces 479【D】div3

    题目链接:http://codeforces.com/problemset/problem/977/D 题意:给你一个数字序列,定了一个游戏规则.你可以对当前数字进行两个操作 1./ 3  如果这个数 ...