• Jenkins实践指南--pipeline概述


    1.pipeline概述

    1.1 什么是pipeline

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

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

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

    更好地版本化:将pipeline提交到版本管理库中,可以更好的进行版本管理

    更好地协作:pipeline的每次修改对所有人均是可见的,也可对pipeline进行代码审查

    更好的复用性:手动操作配置没有办法比较难直接复用,而代码则可以

    更直观的工作流程:通过pipeline可以更加直观看到当前整个工作流所涉及到的各个环节等信息

    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
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    声明式语法

    pipeline{
       agent any
    
       stages{
        stage("Build"){
            steps{
              echo "构建应用"
            }
         }
        stage("Test"){
            steps{
               echo "测试应用"
            }
         }
        stage("Deploy"){
           steps{
             echo "部署应用"
           }
         }
       }
       post {
            failure{
              echo "运行失败"
            }
         }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

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

    脚本式语法灵活、可扩展,也意味着更复杂。适合于对于Groovy非常熟悉的团队或个人

    声明式语法简单、更结构化

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

    1.3 Jenkinsfile

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

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

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

    图片

    01pipelineFromGit.png

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


    资源分享

    下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    vue 部署到nginx 刷新404
    中国设备维修安装企业能力等级证书(制冷空调)
    《HTML+CSS+JavaScript》之第20章 超链接样式
    前端直传阿里云OSS
    React 组件基础
    【C++inline内联函数】跨文件调用
    linux 安装 elasticsearch8.5.0
    ES7-ES13有何新特性?
    zblog插件大全-zblog免费插件
    OA项目之会议通知(查询&是否参会&反馈详情)
  • 原文地址:https://blog.csdn.net/wx17343624830/article/details/128162043