pipline 入门

使用pipeline缘由

本质上,jenkins是一个自动化引擎,它支持许多自动模式。流水线向Jenkins添加了一组强大的工具,支持用例、简单的持续集成到全面的持续交付流水线。 经过对一系列的发布任务创建标准的模板,用户能够利用更多流水线的特性node

好比:ide

代码化: 流水线是在代码中实现的,一般会存放到源代码控制,使团队具备编辑、审查和更新他们项目的交付流水线的能力。
耐用性:流水线能够从Jenkins的master节点重启后继续运行。
可暂停的:流水线能够由人功输入或批准继续执行流水线。
解决复杂发布: 支持复杂的交付流程。例如循环、并行执行。
可扩展性: 支持扩展DSL和其余插件集成。
构建一个可扩展是Jenkins的核心价值,流水线能够经过ShareLibrary的方式来扩展。工具

pipeline

Jenkins的Pipeline经过Jenkinsfile进行描述(相似于Dockerfile)
Jenkinsfile是Jenkins的特性(pipeline as code)
Pipeline是Jenkins的核心功能,提供一组可扩展的工具。
经过Pipeline 的DSL语法能够完成从简单到复杂的交付流水线实现。post

Jenkinsfile

Jenkinsfile使用两种语法进行编写,分别是声明式和脚本式。
声明式和脚本式的流水线从根本上是不一样的。
声明式是jenkins流水线更友好的特性。
脚本式的流水线语法,提供更丰富的语法特性。
声明式流水线使编写和读取流水线代码更容易设计。测试

Jenkinsfile的组成及每一个部分的功能含义。

使用agent{},指定node节点/workspace(定义好此流水线在某节点运行)
指定options{}运行选项(定义好此流水线运行时的一些选项,例如输出日志的时间)
指定stages{}(stages包含多个stage,stage包含steps。是流水线的每一个步骤)
指定post{}(定义好此流水线运行成功或者失败后,根据状态作一些任务)ui

测试脚本1:

1.编写测试脚本(hello world)

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

2.新建pipline项目

pipline 入门pipline 入门

pipline 入门

3.使用blue ocean查看构建过程

(若是没有BlueOcean图标,须要自行在插件中心安装插件)spa

pipline 入门

测试脚本2:

1.编写测试脚本

pipeline{
//指定运行此流水线的节点
agent { node { label "master"}}

//流水线的阶段
stages{

    //阶段1 获取代码
    stage("CheckOut"){
        steps{
            script{
                println("获取代码")
            }
        }
    }
    stage("Build"){
        steps{
            script{
                println("运行构建")
            }
        }
    }
}
post {
    always{
        script{
            println("流水线结束后,常常作的事情")
        }
    }

    success{
        script{
            println("流水线成功后,要作的事情")
        }

    }
    failure{
        script{
            println("流水线失败后,要作的事情")
        }
    }

    aborted{
        script{
            println("流水线取消后,要作的事情")
        }

    }
}
}

2.新建项目过程同上

3.构建结果以下

pipline 入门
pipline 入门

4. 经过BlueOcean查看

pipline 入门

相关文章
相关标签/搜索