闲鱼经过近八年的发展,前端技术在整个研发体系中有着举足轻重的地位,前端有迭代速度快,动态化能力强,跨端适配成本低等显著优势。闲鱼前端一直使用淘系提供的基础技术和平台工具,但随着业务的不断发展,逐渐无法满足复杂、个性化的业务和技术环境。
工欲善其事,必先利其器,拥有自己的上层研发体系势在必行,于是从去年下半年开始,前端开始着手代号为「魔鱼」的技术体系建设。
魔鱼目前魔鱼包含产研平台、研发模式和网关建设三大部分。
产研平台闲鱼原有的研发流程是在集团提供的工程研发平台上进行的。大致流程如下:
1.在研发平台创建应用,同步创建Git仓库;
2.在研发平台创建迭代,同步创建Git分支;
3.获取分支代码进行本地研发;
4.提交分支代码,研发平台进行日常/预发构建部署,H5应用构建产物为CSS/JS/HTML,把HTML文档部署到Web服务器,生成Url进行测试;
5.完成测试,研发平台进行正式发布,给出最终投放Url,并且结束迭代;
可以看到原有的研发流程主要依赖于集团研发平台提供的基本能力,由于平台定位问题,功能相对单一,很多问题还是需要团队自己想办法解决:
问题分析脚手架及应用配置问题
研发平台提供应用创建引导,帮助初始化应用工程Git仓库和脚手架代码。但是这样创建项目的缺点也非常明显:
1.只能用于初次创建应用,后续脚手架升级需要配合另外的升级命令或文档。如果在研发过程中对脚手架改动较大,也会对后续的升级造成一定的困难;
2.大部分情况下,初始化工程并不能直接投入使用,还需要经过一系列手动配置,配置过程对脚手架并不熟悉的新同学来说也是相当痛苦,配置错误会导致项目无法运行,甚至对产品质量和性能造成影响。
页面管理问题
研发平台只