作者回复: 应该这样理解,持续交付包含其他两者,但不是等于两者相加。就像我文中提到的,交付对象未必一定是最终用户,定期提测、修复、再提测,充分利用了测试资源,也是持续交付。千万不要认为一定要做到端到端完整才叫持续交付。持续的产出并持续的验证。这也是为什么我会说任何企业,任何人都可以去尝试持续交付的原因
作者回复: 携程的话,push2CI2CD都是做到的,静态扫描是针对新增代码的,但是自动化测试不是。另外自动化测试怎么只对提交的代码,我不知道怎么做到,可能也没人能知道:)比如我改了一个枚举,我真的不知道该怎么只测试这个commit的内容就算OK了,因为自动话测试本来就是讲求覆盖率,ut也是一样的
作者回复: 嗯,确实是,感谢指出
作者回复: 看起来棒棒的
作者回复: 坚持并持续改进,持续交付和重构其实一样,越痛苦的事,就越要多做,加油💪
作者回复: 首先可以自动化但没有自动化的点
其次是需要人工判断的,是否可通过约定来解决
再有,不在控制能力之内的事情,可否异步处理
最后注意记录,回溯,幂等处理
作者回复: 文章里应该写清楚了吧……
作者回复: 这是一个解耦问题,一定要保证独立组件能够独立构建,甚至部署。微服务流行也是这个道理
作者回复: 比如利用功能开关,功能代码上线,但开关不开,功能暂不生效
作者回复: 部署之后,就可以利用优势解决环境问题;而环境管理会对编译打包有一定要求,比如配置等;如果是小团队的话,也可以在初期就订立分支规范;如果分支规范已经比较分散,则最后处理