Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469006
  • 博文数量: 95
  • 博客积分: 2117
  • 博客等级: 大尉
  • 技术积分: 2301
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-16 21:10
个人简介

辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。

文章分类

全部博文(95)

文章存档

2013年(31)

2012年(2)

2011年(34)

2010年(25)

2008年(3)

分类: LINUX

2010-12-18 21:33:53

内部测试服务器同时兼做SVN服务器,所以配置了SVN HOOKS的post-commit脚本,在团队成员成功提交了文件后,自动完成测试服务器的更新。
步骤如下:
1. cd /svnroot/hooks
2. cp post-commit.tmpl post-commit
3. 将post-commit的内容修改为:


#!/bin/sh
SVN=/usr/bin/svn
WEB=/var/web/
$SVN up --username server --password 123456 $WEB


 

其中,/var/web为测试服务器documentRoot的位置,是用如下命令检出的:
svn checkout svn://192.168.1.1/web /var/web

重启svn,在red had e5中,没有成功利用SVN <wbr>HOOKS脚本同步服务器,google一下,原来是编码问题,添加一条export语句,文件内容为:

 

#!/bin/sh
export lang = en_US.UTF-8
SVN=/usr/bin/svn
WEB=/var/web/
$SVN up --username server --password 123456 $WEB

成功利用SVN <wbr>HOOKS脚本同步服务器

服务器硬件升级,改用ubuntu,所有步骤一仍其旧,失败利用SVN <wbr>HOOKS脚本同步服务器,百思不得其解。
增加一条语句(红色那一行):

#!/bin/sh
export lang = en_US.UTF-8
SVN=/usr/bin/svn
WEB=/var/web/
$SVN up --username server --password 123456 $WEB
whoami > /var/web/a.txt

 

打开a.txt,发现是用root账号执行的(之所以会这样,可能因为我没有把svn配置为apache模式,直接用svn://访问)。而在检出代码时用的是默认账号下sudo命令:

sudo svn checkout svn://192.168.1.1/web /var/web

导致root账号下没有svn的信息被存储。切换到root账号:
su root

更新代码:
svn up /var/web

根据提示操作。
再提交文件,查看测试服务器文件版本,成功利用SVN <wbr>HOOKS脚本同步服务器

阅读(993) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~