持续化集成、交付、部署

开发工作流程分为以下几个阶段:

编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署

  • 持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。

  • 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。

  • 持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。

CI 需要具备这些:

  • 全面的自动化测试 这是实践持续集成 & 持续部署的基础,同时,选择合适的自动化测试工具也极其重要;
  • 灵活的基础设施 容器,虚拟机的存在让开发人员和 QA 人员不必再大费周折;
  • 版本控制工具 如 Git,CVS,SVN 等;
  • 自动化的构建和软件发布流程的工具 如 Jenkins, Gitlab CI
  • 反馈机制 如构建/测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版本。

持续集成的优点

  • “快速失败”,在对产品没有风险的情况下进行测试,并快速响应;
  • 最大限度地减少风险,降低修复错误代码的成本;
  • 将重复性的手工流程自动化,让工程师更加专注于代码;
  • 保持频繁部署,快速生成可部署的软件;
  • 提高项目的能见度,方便团队成员了解项目的进度和成熟度;
  • 增强开发人员对软件产品的信心,帮助建立更好的工程师文化

相关的连接: http://blog.flow.ci/cicd_difference/

results matching ""

    No results matching ""