1.概念:
将构建写在代码中,通过代码来描述软件的构建工程,从获取源码、到自动化测试、到漏洞扫描、到部署全部用代码去描述。一旦用代码描述了,我们可以对我们的pipline进行版本控制,包括对我们的pipline进行一些安全的检查。
部署流水线是指从软件版本库到用户手中这一过程的自动化表现形式。
jenkinsfile就是一个文本文件,也就是部署流水线概念在jenkins中的表现形式。类似于dockerfile与docker的关系。所有的部署流水线的逻辑都写在Jenkinsfile当中
pipeline 是一套运行在Jenkins上的工作流框架,将原本独立运行在单个或者多个节点的任务连接起来,实现单个任务难以完成的
复杂流程编排和可视化。
帮助jenkins 从CI到CD与 DevOps的转变
Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。
持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。
Pipeline提供了一组可扩展的工具,通过Pipeline Domain Specific Language(DSL)syntax可以达到Pipeline as Code(Jenkinsfile存储在项目的源代码库)的目的。
2.五大特性
代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑、审查和迭代其CD流程。(可以进行版本控制)
可持续性:Jenklins重启或者中断后都不会影响Pipeline Job。
停顿:Pipeline可以选择停止并等待输入或批准,然后再继续Pipeline运行。
多功能:Pipeline支持现实世界的复杂CD要求,包括fork/join子进程,循环和并行执行工作的能力
可扩展:Pipeline插件支持其DSL的自定义扩展以及与其他插件集成的多个选项。