家范儿运营支撑系统开发日志第9期:结合Git实现持续集成与可持续交付

一晃,又是很多天过去,天气由热转温,又由温转凉,不知道大家是否都穿上了秋裤?

家范儿的核心产品只有两个代码库,并且一段时间内,家范儿的核心产品将只有两个代码库,即使家范儿的核心产品是由很多不同的模块构成,即使不同的模块甚至可以在一定程度上是可以运行的独立程序,可是家范儿在当前,以及未来很长的一段时间里,依然要保持只使用两个代码库。

我们使用Git作为代码管理工具,因为Git最大的好处是能够轻松地实现多个分支的创建,删除,合并,家范儿的开发模式缺不了Branch,因为我们是按照版本在推进产品,当前的版本推进模式如下:

 

drawit-diagram

 

其中部署在生产机上代码来自Master分支,有一台专门的CI机器每天构建Master分支并提前进行单元测试,测试团队针对Master分支不定期地进行回归测试,效果测试,开发人员全部工作在分支上。

在分支上进行版本开发的时候,同时使用大小版本的模式。比如,第一套需求提出后,开发人员工作在V0.1分支上,当V0.1开发完成,则即时上线,根据产品部门提出来的需求与边界,开始V0.2的开发,这时V0.1已经合并至Master,V0.2是新创建的分支。

但是强运营类的产品经常需要随时增加或者修改网站的各种功能,因此目前我们会在开发V0.2的过程中,持续维护V0.1的程序,把一些小的改动作为V0.1的维护,再新开一个V0.1.1分支,当V0.1.1分支完成后,代码同时合并到V0.2和Master,即保证与V0.2开发过程的持续集成,又保证Master的持续交付,当完成V0.1.1以后,马上进入V0.1.2的开发过程。

当然这样的构建方法对于团队的要求很高,不过为了能够更好地满足运营的需要,我们当前很成功地实现了这种开发模型。

当前,家范儿的两个代码库,一个是WEB端核心产品的代码库,包括但不限于后端,前端页面,微信端等等;另一个是大数据技术部的后端模块代码库,包括但不限于数据分析,异步服务与大数据爬虫。

随着业务的快速发展,家范儿核心团队(北京)与大数据技术部(济南)急需要人才来帮助我们解决业务和技术层次上的各种问题,请点击这里,让简历给我们带来更多的激情吧!

— 2015年11月18日 Haulyn Jason


你可能感兴趣的:(家范儿运营支撑系统开发日志第9期:结合Git实现持续集成与可持续交付)