ci持续集成工程师前景_持续集成CI---失败原因

持续集成CI就是持续进行分析、构建、测试和部署的流程。在发布到生产系统之前,CI检查代码质量和测试产品的业务逻辑。

理想情况下,当构建失败时,是不能允许软件继续发布到生产上。但是,持续集成的理念并未贯彻到每一个团队。有些团队非常认真对待CI实践,有些忽略CI流程,甚至有的连CI服务器都没有搭建。

很多原因导致忽视CI流程。工作有不同的优先级,产品经理不理解代码质量,测试流程和完善构建的重要性。技术经理无法分配足够的时间实施CI或者修正出问题的CI。产品和技术管理层互相不理解各自的优先级以至于最后部署的是构建失败的产品。

然而,即使产品经理和技术团队愿意投入时间和金钱来实施CI和修正CI问题。一些团队也未能成功。可以介绍CI失败的5个原因和解决方案。

1.错误地选择CI服务器

市场上有很多种持续集成工具。CI服务器可以在云端也可以在本地。经常犯的一个错误就是选择一款通用性CI服务器或者适用于所有平台的服务。设想一下,应用包含WEB网站,iOS APP 、Android APP,用一个通用CI并不是一个很好的办法。必须小心选择CI服务器。

推荐解决方案

①仔细研究市场并通过实验权衡各种选项。slant上已经对主流的各种CI产品有优劣评估。

②关注特性,例如容器支持,平台支持,易用性,可用性等等。

③不要为了试图省钱采用一款通用的适应所有平台的CI产品,每一个平台都有不同的技术需求和挑战。

④讨论并借鉴过去的经验。

2.业余工程师

业余工程师是指那些只会在IDE环境下编程,不会使用命令行和脚本工具的人,只喜欢使用GUI去做事而抗拒使用命令行或脚本。但是,CI服务器并没有GUI,所有的事情都只能用脚本来完成。因此可能会开发一些质量低劣的自动化脚本,然后不是真正构建对业务有意义的功能。

推荐解决方案

①具有CI和Devops基础知识的工程师。

②培训工程师,借助外部培训和有经验的CI专家培训。

③建立拥有CI专家的流程和分享经验的平台。

3.随意更改CI服务配置

许多CI服务器允许用户通过web界面去更改CI服务器配置。经常更改CI配置也会产生很多问题,比如把一些很重要的步骤错误得忽略掉。而且,如果每个人都有权限在上面更好的话,更改的CI服务器会导致很多问题。

推荐解决方案

①把配置文件,脚本和其他相关文件都放到代码库集中管理。

②避免手工更改CI服务器的配置。

③控制访问CI服务器的权限。

④不允许用户更改一些特定的构建步骤。

4.CI服务器性能差

开发过程中,程序员需要经常更新代码,这会不停地在CI服务器上触发重构流程。这意味着CI服务器需要不断地运行大量作业。例如从远端服务器下载,备份数据库,运行Docker容器等等,所以CI服务器必须快速,可靠,网络稳定。低配的CI服务器会影响整个构建流程,导致时间延长,测试时断时续,从而浪费大量的时间。

推荐解决方案

①采用高配服务器

②不要在CI服务器安装不必要的软件。

③不要把CI服务器挂在WiFi上。

④科学地调度在CI服务器上跑的作业。

⑥不要手动安装软件。

⑦避免使用GUI连接CI服务器,使用SSh足够了。

5.缺乏管理

项目管理在整个CI实施中起到关键作用。必须对整个构建流程设定严格的指引,同时对任何不遵守指引的行为零容忍。在任何情况下都不能发布CI流程中断的软件。任何构建中断都要被视为紧急事件并以最高优先级进行修复。如没有CI经验的管理人员可能会命令继续开发而不顾代码质量。

推荐解决方案

①建立CI流程并严格执行

②培训项目经理并用于CI实施

最后说点

CI构建必须遵循严格的规则并避免一些常见错误才有效地实施CI流程。你觉得CI流程有效吗?你的经验如何?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值