查看原文
其他

致:正在选择CI平台的你(10大要素需把控)

2017-07-19 数人云 数人云


对于程序员来说,最纠结的恐怕是如何在众多工具和应用中选取合适的那个,小数之前给大家分享了8种CI/CD工具,用以提高交付效率和质量,今天再和谈谈选择CI平台要考虑的10大要素,前人栽树后人乘凉~




持续集成(CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。


CI是采用DevOps的关键性一步,所以选择正确的平台无比重要。


以下是选择平台需要评估的10大要素:



NO.1  快速构建


CI平台的主要目标是为开发者提供代码检测的快速反馈,如:有一个存储库,每天进行2次更新,每年大约有500次更新,如果此存储库的构建速度快5分钟,将节省(5 * 500)/(60 * 8) = 5.2 个工作日,因此若有多个存储库就会发现,即使在构建时加快几分钟,也能大大提高生产率。



NO.2  集成


应该与构建所需的语言和第三方工具相结合,支持源代码管理系统以及编程语言、测试工具、打包工具和推送应用程序包的存储库及部署端点。CI平台应轻松地将这些集成起来并开始工作,一般情况下,建议使用具有规模大的平台,以便后续不受限制地采用不同工具。


NO.3  免费方案

免费方案或试用期是选择CI平台的关键因素,若没有免费方案,无法确切了解原理,也很难与有竞争力的产品进行比较做出决策。智能CI平台应说服潜在客户试用免费方案或无限制免费试用,用户一旦了解了高级功能的价值,即会做出明智选择。


NO.4  快速简便设置


CI服务需要快速方便地安装使用,若发现自己问了太多关于如何使用平台来实现简单场景的问题,这意味着服务太复杂,操作不便。如果优秀的使用文档和案例最好,且可以通过在线聊天系统即时询问。



NO.5  容器的支撑


Docker逐渐成为主流,应该选择具有支持Docker的平台,即便尚未使用容器,也应未雨绸缪。提前进行部署,如此CI平台才不会成为迁移到Docker的瓶颈。



NO.6  多点运行、版本、环境


支持多点运行,这样可以确保应用在不同场景中正常使用,同时也帮助测试语言的环境,并在采用新语言版本之前发现潜在问题。



NO.7  代码覆盖率、测试结果可视化


能在不使用任何其他工具的情况下,显示代码覆盖率和测试结果的信息,充分实现可视化。



NO.8  Build-as-Code


可以通过命令行的通用语法(如YAML文件)进行简单的配置,该文件可以与命令行一起使用并进行版本控制。UI配置相对比较笨重,使用命令行可以改善。



NO.9  灵活的基础设施选择


支持基础设施处理和满足安全要求。如果是资源密集型构建,要可以购买更大的节点。如果是严谨的金融技术型公司,建议应用开发放在内网,则CI平台要有企业版。



NO.10  客户支持团队


最后,询问CI平台是否有客户支持团队,并允许开发人员不需要太繁琐的手续或操作即可对其进行询问,因为传统的客服对产品或客户场景无法很好理解,只是提供了表面的支持。如果CI平台组建了客户支持团队,表明愿意采取主动的方式来帮助客户解决问题。


原文作者: Pavan Belagatti

原文链接:https://dzone.com/articles/10-things-to-consider-while-choosing-a-ci-platform


推荐阅读:

用对这8种工具,CI/CD其实没那么难

DevOps、敏捷开发、云计算,三剑客的小时代

初伏天,热出5种DevOps事件管理工具

解惑|你是否为容器监控操碎了心?


阅读原文,了解数人云:)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存