Jenkins

Jenkins实践指南-01-pipeline概述

2022-12-04  本文已影响0人  Surpassme

1.pipeline概述

1.1 什么是pipeline

从某种抽象层次上讲,部署流水线(Deployment pipeline)是指从软件版本控制库用户手中这一过程的自动化表现形式。——《持续交付-发布可靠软件的系统方法》

    pipeline 英语愿意为管道,在Jenkins里面可以理解为,是一套工作流框架,它将原本各个彼此独立的任务连接起来,实现一些比较复杂的工作流程,整个运行流程看起来就像是一个管道一样。

    Jenkins 2.x可以支持pipeline as code,即通过代码来描述部署流水线。使用代码而不是UI的意义在于:

1.2 pipeline 语法选择

    Jenkins 团队在一开始实现Jenkins pipeline时,Groovy被选为基础来实现,因此在写pipeline时,很像是在写Groovy代码,从而有很大的灵活性和可扩展性。因此pipeline也被分成两种格式的语法:脚本式语法(Scripted)声明式语法(Declarative)

node {
    stage("Build") {
        println "构建应用"
    }
    stage("Test") {
       println "测试应用"
    }
    stage("Deploy"){
        try{
            println "部署应用"
        }
        catch(err){
          // 捕获异常
          throw err
        }
    }
}
pipeline{
   agent any

   stages{
    stage("Build"){
        steps{
          echo "构建应用"
        }
     }
    stage("Test"){
        steps{
           echo "测试应用"
        }
     }
    stage("Deploy"){
       steps{
         echo "部署应用"
       }
     }
   }
   post {
        failure{
          echo "运行失败"
        }
     }
}

    以下两种语法格式差异如下所示:

pipeline插件从2.5版本开始,同时支持两种格式的语法。后续示例均采用声明式语法

1.3 Jenkinsfile

    Jenkinsfile是一个文本文件,是pipeline概念在Jenkins中的具体体现形式。类似于Dockerfile与Docker的关系。

如果在Jenkins使用pipeline,需要确认是否安装pipeline插件。

    pipeline 的代码可以直接写到Jenkins里面也可以通过版本管理工具来拉取。gitlab拉取示例如下所示:

01pipelineFromGit.png

脚本路径:就是pipeline的文件名,默认为Jenkinsfile

上一篇 下一篇

猜你喜欢

热点阅读