DevOps: Development 和 Operations 的组合
1、持续集成(Continuous Integration)
持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现 其中的错 误。“持续集成”源自于极限编程(XP),是 XP 最初的 12 种实践之一。
CI 需要具备这些:
**全面的自动化测试。**这是实践持续集成&持续部署的基础,同时,选择合适的 自动化测试工具也极 其重要;
灵活的基础设施。容器,虚拟机的存在让开发人员和 QA 人员不必再大费周折;
**版本控制工具。**如 Git,CVS,SVN 等;
自动化的构建和软件发布流程的工具,如 Jenkins,flow.ci;
**反馈机制。**如构建/测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版本。
2、持续交付(Continuous Delivery)
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立 在高水平自动化持续集成之上。
持续交付和持续集成的优点非常相似: