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 入門

相關文章
相關標籤/搜索