[汇总]CI/CD经验
我们想了双流程验证的方案。
我们将重构部分的代码全部封装起来,然后提供一个新的接口,一个请求进来后,我们分别执行旧的业务逻辑,也将请求发给新接口。在流程的最后,我们将新旧流程构造出的字段,进行逐个字段的对比。新流程只验证正确性,不做实际的输出。
- 采用shell自定义脚本,控制集成部署环境更加方便灵活
- 精简war包中的lib包,常驻tomcat里,减少war包传输时间
- Jenkins 用户权限管理,不让淘气鬼乱动
- 构建失败发邮件通知相关人员解决
- 自动按天备份war包,Jenkins配置备份以及版本控制化
Springcloud +Gitlab+ Rancher2.0+Kubernetes微服务持续集成
微服务中全链路灰度发布方案其实很简单,重要的就是灰度打标,整体流程如下:
-
网关中通过全局过滤器实现灰度打标,将灰度标记放入请求头中传递给下游服务 -
网关通过自定义的负载均衡策略,从注册中心获取灰度服务,进行转发 -
在openFeign调用时需要从请求头中获取灰度标记,放入上下文中 -
openFeign调用同样是根据自定义的负载均衡策略从注册中心获取灰度服务,进行调用
Drone vs Jenkins 就像 IntelliJ vs Eclipse