初创公司应该如何做好持续集成和部署?(5)

发表于:2016-11-23来源:裴双才作者:裴双才点击数: 标签:持续集成
发布时间 注意:以上请根据自己业务做相应调整,避免在业务高峰期发布(除应急bug外),我们业务高峰期基本在18:00-23:30,低峰期基本在01:00-06:00,这也是微信分

发布时间

 

注意:以上请根据自己业务做相应调整,避免在业务高峰期发布(除应急bug外),我们业务高峰期基本在18:00-23:30,低峰期基本在01:00-06:00,这也是微信分享阅读的高峰和低峰时段;无论应急Bug还是日常迭代都必须由QA测试通过和产品经理审核通过后才能上线(曾经出现过开发为了修复线上很急的bug,开发修复后自主上线导致生产出现更严重的问题)

发布工具的选择

 

无论是自主开发发布系统亦或是使用开源的系统都要本着解决问题的原则,否则只能是重复造轮子,然并卵呀

开源的持续集成和发布里面个人觉得比较好的如:Jenkins,Walle,Spinnaker,go,Gitlab-ci,Bamboo(收费)等,其他参考https://github.com/geekwolf/sa-scripts/blob/master/devops.md

下面介绍我们基于GitLab+Jenkins+Ansible(Flamingo自动化代码发布工具)实现的自动化代码部署平台,流程如下:

Flamingo(“火烈鸟”,https://github.com/geekwolf/flamingo)是基于Ansible的自动化代码发布工具,目的是实现统一的代码发布方式,思路基于Capistrano,并对Ansisrano进行了改造可以通过传入语言环境,主机组(应用组/灰度机组等),项目代码库,分支名称,项目名称等参数来进行自动化打包发布,也可以将Flamingo工具二次打包使用

Flamingo本者回滚即发布的原则以简化发布流程,回滚时传入要回滚的分支即可,其他参数可参看defaults/main.yml进行了解;(注:依赖Git/rsync/ansible)

原文转自:http://www.simlinux.com/archives/1638.html