我厂也算个大厂,全部用的自家工具,从代码(java) commit 开始,把所有依赖 build 到 versionset,然后依次 pipeline 部署到 alpha/beta/gamma/prod
但这种肯定和业界普遍方式不一样,想了解下各家是如何管理的?之前和同学交流过,说的一些开源的东西我全都没有听说过,感觉在这种大公司里呆久了确实有些落伍。
![]() | 1 yanaraika 2018-08-18 14:13:17 +08:00 每个版本拿出一条分支,专人(有经验的老工程师)负责 cherry-pick 和决定哪些能上。k8s 自动化部署。出现问题自动回退不需人为干预。 |
![]() | 2 geeti OP @yanaraika 你们是许多 micro service 么? 每个都得 cherrypick 的话工作量也不小啊 |
3 luozic 2018-08-18 15:30:05 +08:00 via iPhone pipeline 的前提 架构和数据库相关要做好容错或者回滚,否则用了更蛋疼 |
![]() | 4 yanaraika 2018-08-18 15:36:43 +08:00 @geeti 本来就是。release 是一个非常严肃与困难的工作,只是很多公司没有专门的 release engineer 负责。 |
![]() | 5 chotow 2018-08-18 16:03:12 +08:00 via Android k8s cicd |
![]() | 6 messier 2018-08-18 16:51:53 +08:00 puppet, ansible 一类工具也少不了的 |
我们是每个 release 有代码冻结时间,到了就拉一个 release branch, 然后打 build 放到 qa,uat 上测试 没有问题的情况是 2 天左右,然后上线。每次 release 都有一个 release manager 组员轮流。 负责上线相关的工作(分配测试,文档,审核上线内容)。其实就是做好回滚情况的分析和步骤。出事了只要能回滚就都还好。 我们组没有啥专门的测试,全部都是开发自己做。一般 2-3 周一次 master release,patch release 看情况, 功能急的话可能每周都有,patch 都是小功能,不会做回归测试。 |
8 ku360517703 2018-08-18 21:28:08 +08:00 这些名词听着有点像菊厂 |
![]() | 9 geeti OP @ku360517703 并不是,是亚麻 |
![]() | 10 ksharp8 2018-08-24 09:16:05 +08:00 用 svn+jenkins |