利用svn log命令实现的资源版本更新
无论页游或是手游都需要经常进行更新,而每一次更新几乎都是一部血泪吏。这里重点介绍一下前端资源打包的简化操作。目前2D手游主流都采用了cocos2d-x 绑lua的做法,因为lua相当于一种资源可以进行动态更新。只要底部的c++代码不需要改动,几乎整个游戏都可以动态更新掉,而更新这个动作如果交由手工操作,很容易出问题而且效率极低。
有没有比较好的解决方案呢?先理一下思路,更新无外乎找到需要更新的文件,然后这些文件中有些可能是需要进行加密或者压缩的。
那先分解一下这个过程
第一步:找到需要更新的文件
一般windows我们主要使用的是svn(git我没尝试过,应该跟这个差不多),我们使用svn的命令工具,传入需要更新的版本信息,从X版本至Y版本中间的提交动作全部列出来
svn log project_svn_path –-xml –v –r oldVer:newVer >xx.xml
关于命令行的详情描述,请参考这里>>
第二步:根据规则对指定的文件进行加工处理
因为第一步已经得到所需要更新的资料文件了,这一步其实相对就很简单了,要替换的替换,要压缩的压缩,要修改的就修改
第三步:通过ftp上传资源至指定的服务器,然后同步至CDN
第四步:测试通过后,更新当前公网的资源版本号,并通过游戏服务器广播在线玩家,提醒有资源需要更新(分为强制/非强制,强制更新就是必须重启后才能继续游戏,非强制就是玩家可以不更新继续玩,如何设定就看需求了)
工具正在整合中,如果您有更好的想法或是意见,欢迎邮件交流。meteoric_cry#qq.com :)