Jenkins Pipeline 流水線
流水線既能作為任務的本身,也能作為 Jenkinsfile
使用流水線可以讓我們的任務從UI手動操作,轉換為代碼化,像dockerfile 一樣,從shell 命令到組態檔,更適合大型專案,可以讓團隊其他開發者同時參與進來,
完整語法
tools:添加工具,如maven、JDK
triggers:基于hook模式觸發流水線任務;
environment:宣告全域通用的環境變數;
stages:定義任務步驟,即流程分段處理;
post.always:最終執行的動作;
pipeline {
agent any
tools {}
triggers {}
environment {}
stages {
stage('步驟說明') {
steps {
echo ''
}
}
}
post { always {}} //執行完任務后,處理
}
5個必備的組成部分
pipeline: 整條流水線
agent: 指定執行器
stages: 所有階段
stage:某一階段,可有多個
steps: 階段內的每一步,可執行命令

-
agent:該部分指定整個Pipeline或特定階段將在Jenkins環境中執行的位置,具體取決于該agent 部分的放置位置,該部分必須在pipeline塊內的頂層定義 ,也可以使用在stage級,
-
stage:表示這個Pipeline的某一個執行階段(使用stage使得邏輯變得更加簡單明了)
-
steps: 包含一個或者多個在stage塊中執行的step序列(在這里執行操作:運行maven或者部署等等)
-
environment:指定鍵值對,可用于step中,主要是為常量或者變數賦值,根據所在的位置來決定其作用范圍(類似于java中全域和區域的概念)
-
options:允許執行pipeline內置的專用選項,也可以使用由插件提供的
-
parameters:提供觸發pipeline時的引數串列
-
trigger:定義了觸發pipeline的方式(jenkins1.x中的pollscm定時構建)
-
tools:自動安裝工具,注意這里使用的一定是在jenkins全域配置中已經定義好了的
-
when:可以用來執行一些代碼邏輯
-
post:可以根據pipeline的狀態來執行一些操作
安裝插件
- Pipeline
- Pipeline: Stage ViewVersion #不安裝的話不會出來階段視圖
添加專案
添加專案,選擇 Pipeline (流水線)

流水線
- 從SCM 獲取(SVN或GIT)

2. 內嵌代碼(學習用,這邊先用內嵌方式)

pipeline {#整體定義
agent any #任務交給某個節點執行(any 任意)
stages {
stage('拉取代碼') { #每一步的操作
steps { #具體執行內容
echo '拉取成功'
}
}
stage('執行構建') {
steps {
echo '構建完成'
}
}
}
}


支持單獨執行某個階段

Jenkins 階段視圖不見了?安裝:Pipeline: Stage ViewVersion,就可以出來了

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/524958.html
標籤:其他
