现在没有使用CVS或是SVN等版本控管系统来管理程序代码的软件团队应该是越来越少了,如果你是还没这样做的朋友之一的话,不管你们团队有多少人,我们相 当建议您可以花一点点时间,架设您的SVN Server,请团队成员装好类似Tortoise SVN的Client程序。真的花不了很多时间!
给几个网址给还没有使用SVN的朋友们参阅,其实很好找,Google一下就有:
我们选择推入荐给各位SVN而没去选历史更悠久的CVS,是觉得SVN的确比较好上手一点,并且解决了不少过去CVS容易碰到的 问题,而身为IT懒人,感觉暂时没有必要去接触更新的像是 git 等系统。一个不新不旧的SVN感觉刚刚好!
废话说了这么多,该进入主题了。一般大家使用SVN都是用来管理团队每个人手上的程序代码版本,但是发现还不少团队,尤其是使用需要编译的Java语言的团队,在 Deploy(部署)程序,也就是更新程序到测试站点或正式站点的时候,却都得手动进行这些动作。
手动更新是一件非常麻烦的事情,其实作 者之前也因为太懒没去想更好的方式,都是手动更新程序。但这真是麻烦的一件事!首先,你会搞不清楚哪些文件有更新过,全部文件丢上去又太多,甚至常常有些 文件跟文件夹是该台Server专用不能更新,一更新就出毛病的状况。手动更新,费时又容易出错!
要能够用SVN自动更新站点程序,哪些 文件要放上SVN就要审慎考虑了。最重要的原则就是,每台计算机会有不一样设置的文件就不要放上去,例如数据库的Data File、各站点自己的配置文件等。因此在第一次作Check In的时候,记得把刚刚提到所有没有要放上SVN的程序代码,先暂时移到另外的目录,等Check Out出第一个版本的时候,再把他们放回来,之后这些文件就不会在SVN里面了。
而如果你们目前已经有使用中的SVN,那就必须麻烦一 些,请所有人把local不要放在SVN的文件都先暂时移出跟SVN同步的文件夹,然后其中一个人将这些文件从SVN里移除,所有人作一次update, 然后再把暂时移走的文件搬回来。
而编译过的文件,例如Java的class和jar,过去很多人是不会把他放入SVN的,但是我们发现利 用SVN来更新程序实在是很方便,因此就只好用比较脏一点的方式,把所有一个server跑起来需要用到的class和jar通通放到SVN上面,如此一 来更新所有Test Server和Production Server都可以用一个SVN的命令就完成了!
还在为手动更新站点而苦恼 吗?试试看这个小技巧吧!