在windows下利用svn hook构建开发环境
发布在开发记录2014年11月5日view:3833
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

公司要把最好的人才放到工具开发那一块,因为工具做好了,可以达到事半功倍的效果,所有人的效率都可以得到提高,而不仅仅是工程师。

现状: 利用svn进行代码管理,同时也是发布工具,提交服务器后用发布系统进行发布。(由于公司环境限制,没有发布系统和服务器的管理权限,很多事情都只能绕弯子解决,but just do it!)

存在问题:

  • svn只能作为发布系统,存放线上文件,导致源码无法管理
  • 没有测试环境
  • 没有编译压缩构建环节
  • 手动修改版本号清理缓存(大多数人不会管这个)
  • 通用代码块都是手动复制,没有公用模板,修改制作繁琐
  • 编辑没有修改权限,任何改动都需要找前端修改,发布页面
  • 很难改变成员目前的开发习惯

解决方案

看了@元彦大神的《停不下来的前端》,感慨很多。作为大型互联网公司,工具和流程都是相当规范和完善的,真是羡慕嫉妒恨啊。但是问题来了,该怎么把其他公司的模式转化成我们自己的呢?想了想目前的情况,“svn,自动发布”,经过搜索了解研究之后觉得可行,做一台自己的代码服务器,利用svn钩子同步代码至服务器,同时记录更新日志,提交至发布svn。

服务器环境配置:VisualSVN,XAMPP

目录说明:

  • temp.txt 更新日志
  • webup 测试服务器目录(svn co 代码svn)
  • websvntest 正式服务器发布svn目录(svn co 发布svn)
  • svndo.php 发布svn处理程序

enter image description here

post-commit.bat(svn钩子代码):

set LOG_PATH=E:\svnhook\temp.txt
set SERVER_PATH=E:\svnhook\webup
set PHP_PATH=E:\svnhook\svndo.php
set REPOS=%1
set REV=%2

svnlook changed -r %REV% %REPOS%> %LOG_PATH%
svn up %SERVER_PATH%
php %PHP_PATH%

日志格式如下:

A   1.txt
D   2.txt
A   aa/
A   aa/b.txt
U   fisdemo/a.css

“A” 新加文件/文件夹, “D” 删除文件/文件夹,”U” 修改

svndo.php是同步“发布svn”处理程序,中间这个环节可以做很多事,如:不想发布到正式环境的东西,也可以通过它过滤掉。

未完待续……

评论
发表评论
暂无评论
WRITTEN BY
佘小马是怪蜀黍
完美世界网站部前端开发
TA的新浪微博
PUBLISHED IN
开发记录

开发记录

我的收藏