从这几个概念找中理解为什么需要Jenkins以及Jenkins的用途。
敏捷开发和DevOps都是 一种理念 。
他们的理念相似,都是为了更好更快的发布产品。敏捷基础模型如下图:
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法,小步快跑、不断迭代、每个迭代周期尽量做到交付物可发布。
DevOps的核心是自动化,自动化的核心是标准化。而DevOps最重要的一环节是持续交付,持续交付中建设的重点是流水线,所以如何打造标准的持续交付流水线则为DevOps建设中最重要的一环,也是评估DevOps能力的一个重要的打分点。
CI/CD是实现这两者理念的 一种方法 。
英文:Continuous Integration & Continuous Delivery
就是持续集成和持续交付,CI/CD理论上把产品研发工作流程分为以下几个阶段,结合敏捷的螺旋模型不断迭代:
编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署
Tips:由于敏捷模式下,版本迭代速度大大增加,要保证测试覆盖率,必须引入自动化测试工具和持续集成工具,加快版本集成和测试。
Jenkins本身不具备任何操作持续集成过程的功能,如同工业流水线中的传送带,Jenkins只提供流程控制脚本或者控制流,如果没其他工具状态下,Jenkins处于空转状态,不具备任何实质性功能,要想完成实际的功能,Jenkins各种插件或者脚本作为支持来调用其他工具实现特定的功能,就如同工业生产线中的各个工序及工序设备。
流水线是根据Jenkins定义的流水线语法,调用不同的插件工具实现一个应用程序从构建、部署、测试和发布这个过程的自动化实践之一。与其他Jenkins Job相比由于采用编程手段配置过程,因此具备高度定制化和灵活性。
语法理解请参考:
https://blog.csdn.net/u011541946/category_8223796.html