代码上生产的神坑之路---(现在公司svn使用的坏处)

大雪纷飞的日子

铭记今日,2018年12月六日。今日大雪纷飞,从昨日已经开始雪花飘落,公司的一位“胡建”的小哥哥看到雪那叫一个兴奋呐!哈哈哈,今天的雪比昨天更大一点,今天发生的事也比昨天大一点。

1.最近我的代码要上线

11月中旬开始开发公司的新的业务模块,一个pc端的springboot项目,因为我现在是实习生还未毕业,能力没有那么好。加上新项目,里面的坑实在是太多了,一次上线四款保险产品,其中一款真的是业务逻辑复杂的要命。首先它有三个状态,保单状态,审核状态和支付状态。保单状态有4种,审核状态有4种,支付状态2种,还有退保退费状态。组合起来。。。。(此处捂脸表情)

2.踩坑之路

其他三款产品还好,审核通过之后不许修改了。但是有一款是反反复复的修改,各种改,状态五花八门。。。然后需求也跟着变更。心态在开发途中一路 boom、boom、boom 。后来还要兼职修改excel文档格式。。。然后大约开发加测试后端的接口终于在今天测试通过可以上生产了。然而刚刚开始最坑之路。。。

3.现有svn开发短板
  • 目前公司开发的模式有瓶颈,开发是在trunk上一条线开发,然后后端的小伙伴都在这个分支上开发提交,所以当有的feature可以发布测试的时候就会把别的小伙伴的代码带到测试上去,然后大概率出现测试环境服务器没有开发环境的配置文件,这时候大多数为了图方便就会把自己的配置文件先加到测试上去,因为这样不用修改trunk上的代码了,所以把配置文件加一下,然后这些本来不应该带到生产环境的代码就被带上去了。
  • 还有一种情况,是你发测试的是你从trunk上的代码,然后在测试线测试了好几天然后在这中间又有其他的bug或者新的feature要上线,这时候你的测试环境的代码并不包含这部分代码,然后当你这个feature上线的时候可能会把别人的代码冲掉,只保留你的feature的代码,这就导致功能不全的问题。当然,你也可以把生产的代码拉下来然后和测试环境的compare一下,但是这其中很大可能是很多人都动过这部分代码,然后时间一久就不知道哪个该上哪个不该上了。所以根据墨菲定律来说,100%会出问题。
4.最新的方案

我们公司特别厉害的CTO和我们目前的后端的老大,在讨论了一天的情况下定出了一个方案。把trunk净化一下,然后以后开发新的feature从干净的trunk上拉出一个branch来作为一个新的feature开发。这样就会有点小问题,就是一个人负责多个feature时,本地要同时跑多个项目,但是这样会避免同事之间代码冲突问题。当你的feature发测试时,直接把branch的代码发到测试,等到测试通过之后把代码merge到trunk上面。然后立即打tag,然后再用几个核心的测试用例把merge后的tag代码测试一下,然后没问题直接发布生产。
这样的好处是你的代码完全隔绝了别人的feature,不会导致你的代码把别人的代码冲掉的问题。

把这些东西记下来是为了自己学习和总结的,如果帮到了你那是最好的了。与君共勉,一直在路上。加油。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,514评论 2 59
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 封面图是个非常浩大的工程 所以呢今天先给你们 找来了非常好用的矢量素材 一个好的封面 让我们先从好的素材开始! 1...
    遇见美食日记阅读 5,885评论 2 43
  • 停不下来的念头已将她整个人拧成了痛苦的一团,浑身疼痛,胃部停滞般酸胀。她开始不知所措,越来越暴躁不安,不停得在...
    娟儿2521阅读 1,778评论 0 1
  • 1. 提取专门的颜色类名: 然后,建议放在所有公用样式的最底部。 2. 静态UI组件所有动态颜色全部走原生变量 例...
    狂奔的蜗牛壳阅读 2,563评论 0 0

友情链接更多精彩内容