Jenkins Pipeline初识

2021-11-03  本文已影响0人  萝卜枣

一、什么是Pipeline?

Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins。Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline。

通常,此“Pipeline代码”将被写入 Jenkinsfile项目的源代码控制存储库,例如:

pipeline {
          agent any (1)
  
          stages { 
              stage('build') { (2)
                  steps { (3)
                      sh 'make' (4)
                  }
              }
              stage('sita'){
                  steps {
                      sh 'python script.py'
                      junit 'reports/**/*.xml' (5)
                  }
              }
          }
      }

agent 表示Jenkins应该为Pipeline的这一部分分配一个执行者和工作区。
stage 描述了这条Pipeline的一个阶段。
steps 描述了要在其中运行的步骤 stage
sh 执行给定的shell命令
junit是由JUnit插件提供的 用于聚合测试报告的Pipeline步骤。

二、为什么使用Pipeline?

Jenkins从根本上讲是一种支持多种自动化模式的自动化引擎。Pipeline在Jenkins上添加了一套强大的自动化工具,支持从简单的连续集成到全面的连续输送Pipeline的用例。通过建模一系列相关任务,用户可以利用Pipeline 的许多功能。
Pipeline的功能和优点:
持久性:在jenkins的master按计划和非计划的重启后,pipeline的job仍然能够工作,不受影响。其实理解起来也很简单,jenkins的master和agent通过ssh连接,如果你知道nohup或disown的话,就可以理解为啥master的重启不会影响agent上的job继续运行。
可暂停性:pipeline基于groovy可以实现job的暂停和等待用户的输入或批准然后继续执行。
更灵活的并行执行,更强的依赖控制,通过groovy脚本可以实现step,stage间的并行执行,和更复杂的相互依赖关系。
可扩展性:通过groovy的编程更容易的扩展插件。
设计Pipeline = 设计代码,很优雅
As Code:集中管理CI脚本、用代码库来管理脚本、从代码库直接读取脚本,从而可以将项目CI迅速拉起来!

上一篇下一篇

猜你喜欢

热点阅读