码迷,mamicode.com
首页 > 其他好文 > 详细

pipline 入门

时间:2020-09-15 21:30:38      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:并行执行   设计   int   扩展性   docke   成功   多个   lin   pre   

使用pipeline原因

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

比如:

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

pipeline

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

Jenkinsfile

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

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

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

测试脚本1:

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

pipeline {
    agent any

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

2.新建pipline项目

技术图片技术图片

技术图片

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

(如果没有BlueOcean图标,需要自行在插件中心安装插件)

技术图片

测试脚本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.构建结果如下

技术图片
技术图片

4. 通过BlueOcean查看

技术图片

pipline 入门

标签:并行执行   设计   int   扩展性   docke   成功   多个   lin   pre   

原文地址:https://blog.51cto.com/13760351/2527216

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!