交付和发布的区别,你真的懂吗?
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
在今天的星球内部群里,有成员提出了公司线上运营活动中的一个常见问题:封版期间活动迭代导致需求积压,活动结束后迫于解决积压需求导致线上发布质量下降。文章指出,这是由于很多人对持续集成、持续交付和持续发布三者的概念混淆,错误地将测试通过即视为产品必须上线的做法。
文章进一步解释了需求迭代、交付和发布的区别。在软件产品的迭代交付模型中,产品从需求提出到经过各阶段评审、设计、编码最终测试通过,即达到了可以交付的阶段。然而,交付并不等同于发布,封版期间虽然线上发布停止,但需求迭代和研发测试交付可以继续进行。
为了解决上述问题,文章提出了使用版本火车(Release Train Model)的方案。版本火车是一种软件发布计划,通过固定时间周期的迭代发布,保证软件产品的有序交付和发布。在此模型下,需要提前进行需求评审、方案评审等,并确保在规定时间内完成工作。代码分支管理是版本火车模型的关键环节,具体包括从master拉取feature分支、进行自测、通过code review后合并到release分支,再经过测试后提测,最终将release分支代码合并至master。
文章强调,虽然发布是将软件产品对外发布的过程,但交付是指按照约定时间完成一个符合要求的软件产品,即release分支的代码集。即便线上发布暂停,交付依然可以持续迭代。版本火车顺利运转至少需要满足以下条件:严格的计划管理、强大的项目管理能力、良好的代码分支管理、全面的测试覆盖和验证能力以及完备的CICD流水线支撑能力。此外,线上发布还需要配套的技术和业务监控以及应急响应机制。
最后,作者提到运营的知识星球第二季已开启提前续费,介绍了第一季的成就和第二季将推出的新内容,并鼓励读者加入。同时,作者邀请读者点赞、关注、评论,并推荐其他相关文章。
想要了解更多内容?