编译,测试,部署工作流
最后更新于:2022-04-01 05:17:28
我们拥抱持续集成和交付,尽可能快地推动绿色(部署)。[Jenkins](http://stackshare.io/jenkins) 管理所有这些过程。
过去我们在使用中建立我们的系统,因此我们不会为一个新工程迁移而到 [Pants](http://stackshare.io/pants)。
我们有一个组合[单元测试](https://github.com/caolan/nodeunit)和 [HTTP 级功能测试](https://github.com/Medium/falkor)。所有的提交必须要经过测试才可以合并。我们工作的团队在盒子内使用 [Cluster Runner](https://github.com/box/ClusterRunner) 分配测试,并让其更快。还能很好地与[GitHub](http://stackshare.io/github) 集成。
我们尽可能快地部署过渡环境——目前大约 15 分钟——然后给候选的产品使用。主要的 app 服务正常部署在一天五次左右,但是有时候可能多达 10 次。
我们做蓝色/绿色部署。在生产环境中我们发送流量给 canary 实例,并在发布与部署之前发布过程监控错误率。Rollbacks 已经内置了 DNS 转换。