课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
掌握不同的软件编程开发方式能够让程序员在开发软件的时候可以满足更多的开发场景,今天我们就通过案例分析来简单了解一下,软件开发持续集成的概念与作用分享。
持续集成
持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。“持续集成”源自于极限编程(XP),是XP初的12种实践之一。
谈谈持续集成,持续交付,持续部署之间的区别谈谈持续集成,持续交付,持续部署之间的区别
CI需要具备这些:
全面的自动化测试。这是实践持续集成&持续部署的基础,同时,选择合适的自动化测试工具也极其重要;
灵活的基础设施。容器,虚拟机的存在让开发人员和QA人员不必再大费周折;
版本控制工具。如Git,CVS,SVN等;
自动化的构建和软件发布流程的工具,如Jenkins,flow.ci;
反馈机制。如构建/测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版本。
持续集成的优点
“快速失败”,在对产品没有风险的情况下进行测试,并快速响应;
大限度地减少风险,降低修复错误代码的成本;
将重复性的手工流程自动化,让工程师更加专注于代码;
保持频繁部署,快速生成可部署的软件;
提高项目的能见度,方便团队成员了解项目的进度和成熟度;
增强开发人员对软件产品的信心,帮助建立更好的工程师文化。
持续集成,该从何入手
重要的一环是选择合适的持续集成系统。是搭建私有部署还是选择托管型持续集成系统,关键在于团队运行的基础设施,团队对持续集成系统的资源投入力度。
对比一下私有部署和托管型持续集成系统,或许能帮助你更好地做出选择。
SelfHostedCI指的是将软件部署在公司的机房或内网中,需要提供多台服务器来完成CI系统的运转,同时需要对不同机器之间进行环境配置。比如Maven或Gradle或Jenkins,他们的特点是自由开源,且文档支持广泛。优点在于对构建环境有完全的控制权,能够实现完全定制。但需要搭建环境和配置、维护成本高,需要买专门的机器,花费较多人力物力且更新迁移风险高;
HostedCI指的是由SaaS型的CI服务,全程在线进行构建配置,不需要考虑装机器,装软件,环境搭建等成本。常见的有CircleCI,Codeship和TravisCI等,还有国内新的持续集成服务——flow.ci。SaaS型的CI的特点在于无需额外机器,几分钟就可以用起来。可以根据你的需要动态调度资源。省时,省心,省力。
整体而言,Jenkins过去一直是大部分公司的选择,但这个现象正在发生改变,随着公有云服务、Docker,SaaS的普及,越来越多的企业开始选择HostedCI,也就是托管型持续集成系统。
另外,在选择合适的持续集成服务时,还需要考量系统的灵活度以适应公司不同阶段的开发测试需求。
选择持续集成系统只是持续集成应用的其中一步,还需要建立合适的持续集成文化比如代码质量管控、测试文化等。做好持续集成,可为持续交付与持续部署打好坚实基础。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。