利用SVN HOOKS脚本同步服务器

内部测试服务器同时兼做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
命令检出的。
4. 修改post-commit的权限
chmod 755 post-commit

重启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脚本同步服务器,百思不得其解。
增加一条语句:
whoami > /var/web/a.txt
发现是用root账号执行的(之所以会这样,可能因为我没有把svn配置为apache模式,直接用svn://访问)。检出时用的是默认账号下:
sudo svn checkout svn://192.168.1.1/web /var/web
没有root账号的信息被存储。
su root
svn up /var/web
根据提示操作。
再提交文件,查看测试服务器文件版本,成功利用SVN <wbr>HOOKS脚本同步服务器

 

http://blog.sina.com.cn/s/blog_4e36083e0100h0lg.html

 

http://www.cnblogs.com/cocowool/archive/2011/03/08/1977748.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章