设为首页 收藏本站
查看: 1483|回复: 0

[经验分享] 『高级篇』docker之了解CICD和DevOps(41)

[复制链接]

尚未签到

发表于 2019-4-17 14:52:03 | 显示全部楼层 |阅读模式
  原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之了解CICD和DevOps(41)
  之前已经说了mesos,swarm,k8s都部署了,k8s因为机器的问题,我没做部署,有了微服务和服务编排的基础,我们可以一起了解下CICD和DevOps,之前在中级篇的文章讲过,老铁一起回顾学习下。
DSC0000.jpg

它的产生
  

  • 编译失败
      从痛苦中产生,小公司人手少。开发人员每天需要处理bug和开发任务,当到达一个阶段的时候,开发人员我说bug修复可以进行测试了,告诉QA,QA进入内网执行部署的脚本,发布到测试环境,告诉我发布失败了,告诉编译有个错误,报错的代码是其他人写的,需要喊过来其他人,看看谁的问题,很快其中一个人说是他写的忘了提交一个类了, 提交代码后告诉我,我告诉QA好了可以重新发布了,起初一两次大家都忍了,后来发现粗心的老铁经常会发生这个或者那样的错误,都有人少提交类或者少提交一个配置导致内网的发布失败,于是就想了一个办法,找了个专用的服务器,每次提交代码的时候,都会触发一个webhook,将代码重新一遍,如果发现编译错误,都会编译对应的代码提交者,这就是最初的持续集成了。(老司机可能都遇见过,其实这个就是最早的持续集成)



  •   运行时异常
      虽然之前的编译的异常解决了,但是运行时异常又凸显出来了,所以就在这个基础上增加了代码的风格检查,单元测试,覆盖率,加入阿里巴巴编码规范插件啊,这里要吐槽下,据说代码规范都是给外部人看的,内部人都不遵守,其实规范很好,遵守风格统一利于维护,不要挖坑啊老铁。

  •   手动发布
      新项目,要申请资源,申请端口,配置nginx。老项目也不简单,在二线城市也没运维,stop下线服务。

  •   手动部署
      上传代码,重启,验证,上线。其实都是重复性的工作,但是这个工作要非常的消息,万一遇见个傻叉rm -rf ,大家都喝西北风了。

  • 上边的痛点优化
      从细节慢慢的去优化,优化每个环节,为了让流程更顺畅更优雅,这也就是CICD它的由来。

了解CICD和DevOps
  CI 是持续集成。CD 是持续部署。


  • CI
  在传统软件中,集成基本是项目的收尾阶段,我们花费几周或者数月的时间。持续集成就是把集成提前了,搞到了开发阶段,一边开发一边集成。让构建和测试经常反复的一个过程。持续集成一般是多个开发者,为同一个产品同时编写代码。把代码放到一个源数据库的地方,然后开发人员通过一个CI-server的工具进行构建和集成。持续集成首先要求开发者需要自测代码,分别测试各自的代码,保证他们能够正常的工作,测试也成为单元测试,当所有的代码都顺利的测试通过,就认为他们就顺利的集成到一起了。代码的表现也是之前所预计的。好处是使集成不在是一个让人头疼的事情,软件一直在编写集成。在有持续集成之前,软件的开发都是到收尾统一进行的。并不知道它要耗时多久,CI就是让我们的集成融入我们日常的工作中。
DSC0001.jpg


  • CD
  持续部署是建立在持续集成之上的,持续部署就是开发人员在开发和测试代码的时候,同时也在其他环境进行测试这段代码。通常将不同的环境下的部署,叫做部署流水线。我们公司的部署流水线:开发环境,测试环境,准生产环境,生产环境。根据不同的公司,不同的产品,不同的团队而变化,所有的代码会经过前一个测试,才会进入下一个流水线中。通过这种方式,开发人员提交代码后,都是自动的完成的。这个过程叫持续部署。
DSC0002.jpg


  • DevOps
  更好的去优化开发,运维,测试的流程。使开发和运维通过高度自动化的工具,来使得的软件发布和构建更加的快捷频繁可靠。Devops其实是CICD思想的延伸,如果没有CICD其实DevOps就是空中楼阁,没有一点意义,CICD为基础优化开发和运维测试的所有环节。DevOps包含的东西很多,落地方案也是五花八门。
  PS:CICD和DevOps有了进一步的认识,下次开始针对CICD做个环境跑跑实践一下。
DSC0003.jpg





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-828229-1-1.html 上篇帖子: 给产品经理讲讲,什么是持续交付和DevOps 下篇帖子: 资料分享|DevOps 转型之 Pipeline 实践
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表