从运维角度来说如何实现多分支测试

多分枝测试需求

随着敏捷开发的推行,开发人员越来越多,要上线的功能越来越多,如何保证功能之间不受影响,如何保证大家代码不被覆盖,如何保证上线的功能就是上线的代码。这需要从几个方面来考虑。
1.功能开发时使用功能分支,抛弃都提交到develop分支的方式,单独拉去一个分支进行开发,保证开发的时候只涉及当前功能;
2.权限管控:下掉开发合并代码的权限,只保留develop的权限;
3.测试的时候只测试当前分支的代码;
4.上线的时候只合并当前的代码。

会带来的问题

当开发功能从develop到功能分支,不可避免的会遇到合并代码时候的冲突问题,这个需要在合并的时候研发进行相应的处理,解决冲突。

多分枝测试的实现

为什么要做多分枝讲了,那么如何实现呢?
多分枝不可避免就是服务器上需要跑多套环境,多套不可避免会造成资源冲突,比如端口啊这些,还有可能造成管理混乱。如何规避这些问题,我们选择了kubernetes来解决这些问题。
实现思路为:
1.默认的测试环境,代码全部从develop拉取;
2.分支环境,从功能分支进行拉取,非功能分支的都从默认环境获取;
3.分支环境的代码和develop的代码通过对ingress的编排实现,我们选用的时helm的charts进行实现的。

以上基本就能实现资源的发布。
那么资源的删除呢,也是需要通过helm来实现。把功能分支从当前分支删除。
edit by cherrydot

    原文作者:cherrydot
    原文地址: https://segmentfault.com/a/1190000020486879
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞