亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

 

自動(dòng)化構(gòu)建部署:Jenkins之流水線介紹(筆記)

 

什么是流水線

現(xiàn)實(shí)中的流水線

流水線比較好理解,類比于現(xiàn)實(shí)生活中的生產(chǎn)流水線,每個(gè)流程只做一件事,通過傳送帶把這些流程連接在一起,一個(gè)流程完成后的結(jié)果交由后續(xù)流程繼續(xù)操作。

Jenkins的流水線簡單認(rèn)知

Jenkins的流水線也是這樣工作的,最簡單的認(rèn)知是它可以把若干可通用的Shell腳本像膠水一樣連接起來,雖然這個(gè)比喻比較形象,但這只是流水線的冰山一角。

Jenkins流水線的兩種形式

在Jenkins升級2.x版本之前,流水線只有一種腳本式流水線(Script Pipeline),當(dāng)升級2.x版本后,新增了聲明式流水線(Declarative Pipeline)

 

什么是Jenkinsfile

無論是哪種流水線,都需要為流水線定義流水線腳本,稱之為Jenkinsfile ,使用Groovy語法寫成

腳本式流水線

在說明聲明式流水線前,有必要了解一下腳本式流水線的基本概念,這樣有利于我們知道聲明式流水線的好處與腳本式流水線的限制

特征

在腳本化流水線語法中, 一個(gè)或多個(gè) node 塊在整個(gè)流水線中執(zhí)行核心工作。

限制

雖然這不是腳本化流水線語法的強(qiáng)制性要求, 但它限制了你的流水線的在node塊內(nèi)的只能做兩件事:

  1. 需要通過在Jenkins隊(duì)列中添加一個(gè)項(xiàng)來調(diào)度塊中包含的步驟。 節(jié)點(diǎn)上的執(zhí)行器一空閑, 該步驟就會(huì)運(yùn)行。
  2. 創(chuàng)建一個(gè)工作區(qū)(特定為特定流水間建立的目錄),其中工作可以在從源代碼控制檢出的文件上完成。

基本語法

Jenkinsfile (Scripted Pipeline)

node { //需要有一個(gè)或多個(gè)node節(jié)點(diǎn)表示一系列操作
    stage('Build') { //每個(gè)stage表示一個(gè)步驟
        // Build步驟內(nèi)容
    }
    stage('Test') { 
        //  Test步驟內(nèi)容
    }
    stage('Deploy') { 
        //  Deploy步驟內(nèi)容
    }
}

聲明式流水線的基本語法類似于腳本式流水線,但是其功能更加強(qiáng)大

聲明式流水線基礎(chǔ)

特征

聲明式流水線最外層Jenkinsfile腳本節(jié)點(diǎn)是pipeline

與腳本式流水線不同點(diǎn)

聲明式和腳本化的流水線從根本上是不同的。 聲明式流水線的是 Jenkins 流水線更近的特性:

  • 相比腳本化的流水線語法,它提供更豐富的語法特性,
  • 是為了使編寫和讀取流水線代碼更容易而設(shè)計(jì)的。

基礎(chǔ)語法

Jenkinsfile (Declarative Pipeline)

pipeline { // pipeline是聲明式流水線的一種特定語法,在塊內(nèi)定義了整個(gè)流水線的所有內(nèi)容
    agent any //    agent是聲明式流水線的一種特定語法,它指示 Jenkins 為整個(gè)流水線分配一個(gè)執(zhí)行器 (在節(jié)點(diǎn)上)和工作區(qū),等效于腳本式流水線node塊
    stages { // 所有流程(狀態(tài))的外層塊,僅有一個(gè)
        stage('Build') { //每個(gè)stage為一流程,與腳本式基本一致,每個(gè)stage可以定義名稱
            steps {  //步驟塊,內(nèi)部包含具體操作
                sh 'make'  // sh操作,其引號間的文字會(huì)當(dāng)成shell直接執(zhí)行
            }
        }
        stage('Test'){
            steps {
                sh 'make check'
                junit 'reports/**/*.xml'  //junit使用匹配的定義測試xml進(jìn)行單元測試
            }
        }
        stage('Deploy') {
            steps {
                sh 'make publish'
            }
        }
    }
}

使用jenkins的Blue Ocean插件運(yùn)行構(gòu)建:

Jenkinsfiles文件:

自動(dòng)化構(gòu)建部署:Jenkins之流水線介紹(筆記)

 


自動(dòng)化構(gòu)建部署:Jenkins之流水線介紹(筆記)

分享到:
標(biāo)簽:部署 構(gòu)建 自動(dòng)化
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定