我厂也算个大厂,全部用的自家工具,从代码(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 一类工具也少不了的
|
7
zartouch 2018-08-18 17:24:03 +08:00
我们是每个 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
|