jenkins 構建項目之 pipeline基礎教程
一、pipeline 簡介
pipeline ,簡單來說,就是一套運行在 jenkins 上的工作流框架。將原來獨立運行于單個或者多個節(jié)點的任務連接起來,實現(xiàn)單個任務難以完成的復雜流程 編排 和 可視化 的工作。
二、pipeline 有哪些好處
- 代碼:pipeline 以代碼的形式實現(xiàn),通常被檢入源代碼控制,使團隊能夠編輯,審查和迭代其傳送流程。
- 持久:無論是計劃內(nèi)的還是計劃外的服務器重啟,pipeline 都是可以恢復的。
- 可停止:pipeline 可接受交互式輸入,以確定是否繼續(xù)執(zhí)行 pipeline。
- 多功能:pipeline 支持復雜的持續(xù)交付角球。支持 fork/join ,循環(huán)執(zhí)行,并行執(zhí)行任務的功能。
- 多擴展:pipeline 插件支持其 DSL的 自定義擴展,以及與其他插件集成的多個選項。
三、創(chuàng)建 pipeline 流程步驟
pipeline 腳本由 Groovy 語言實現(xiàn)。
pipeline 支持兩種語法:Declarative(聲明式腳本)| Scripted Pipeline (腳本式語法)
pipeline 支持兩種創(chuàng)建方法:可以直接在 jenkins - GUI 界面中創(chuàng)建。也可以創(chuàng)建在項目源代碼根目錄當中。
安裝 pipline 插件:Pipeline
四、聲明式語法
pipeline { :開頭聲明此腳本是 Declarative式腳本
agent any :模塊一,此處填寫構建所需的環(huán)境,代理,docker環(huán)境,kubernetes環(huán)境、
maven、jdk工具等等
stages:模塊二,階段記錄所有步驟,代表構建項目的階段開頭
stage:階段步驟,一個 stages 中包含多個 stage,對應 拉取代碼、編譯打包、部署發(fā)布等等
steps:步驟實現(xiàn),具體實現(xiàn)該步驟的命令,如何通過編寫來實現(xiàn)步驟
code:拉取代碼
build project:編譯打包
publish project:部署上線
入門語法案例:
pipeline {
agent any //環(huán)境maven、jdk等
stages { //項目構建
stage('pull code') { //拉取代碼
steps { //具體實施步驟
echo 'pull code' // 拉取代碼命令
}
}
stage('build project') { // 編譯打包
steps { //具體實施步驟
echo 'build project' // 打包命令
}
}
stage('publish project') { // 部署上線
steps { //具體實施步驟
echo 'publish project' // 部署命令
}
}
}
}
五、腳本示語法
node:聲明此腳本是Scripted Pipeline
def mvnHome:指定腳本運行所需要的各種環(huán)境、工具等
stage:指定不同的構建步驟,如拉取代碼,編譯打包,部署上線等,可以有多個 stage
node {
def mvnHome
stage('pull code') { //步驟一,拉取代碼
echo "pull code"
}
stage('Build project') { //步驟二,構建打包
echo "build project"
}
stage('publish project') { //步驟三,部署上線
echo "publish project"
}
}
六、流水線語法
片段生成器:可以自動生產(chǎn)拉取、打包、部署的代碼。直接粘貼到 pipeline即可使用。
Declarative Directive Generator:聲明式指令生成器。
Declarative Online Documentation:聲明式指令官方文檔


片段生成器部署上線示例:1、拉取代碼:check out from version control


2、編譯打包 sh: Shell Script



3、部署上線 deploy: Deploy war/ear to a container



4、水線階段視圖:

流水線腳本管理 Jenkinsfile
流水線腳本有兩種寫入管理方法:
1、在 Jenkins - Gui 界面里寫
2、存放在 gitlab代碼層,與 src pom.xml 同目錄。命名為 Jenkinsfile ( j 必須大寫 ) 文件,填寫流水線執(zhí)行步驟。
代碼層的 Jenkinsfile ,方便管理,方便備份,不會因為 jenkins宕機丟失整個流水線配置。


然后在 jenkins - GUI 界面 通過 pipeline SCM 連接到 gitlab倉庫,獲取 Jenkinsfile 文件


到此這篇關于jenkins 構建項目之 pipeline基礎教程的文章就介紹到這了,更多相關jenkins pipeline基礎內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot集成內(nèi)存數(shù)據(jù)庫Sqlite的實踐
sqlite這樣的內(nèi)存數(shù)據(jù)庫,小巧可愛,做小型服務端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價值,感興趣的可以了解一下2021-09-09
簡述Java中進程與線程的關系_動力節(jié)點Java學院整理
在 Java 語言中,對進程和線程的封裝,分別提供了 Process 和 Thread 相關的一些類。本文首先簡單的介紹如何使用這些類來創(chuàng)建進程和線程2017-05-05
解決Java編譯時錯誤:A JNI error has occurred,ple
這篇文章主要介紹了解決Java編譯時錯誤:A JNI error has occurred,please check your installation and try again,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
詳解五種方式讓你在java中讀取properties文件內(nèi)容不再是難題
這篇文章主要介紹了詳解五種方式讓你在java中讀取properties文件內(nèi)容不再是難題 ,非常具有實用價值,需要的朋友可以參考下。2016-12-12
詳解SpringBoot讀取resource目錄下properties文件的常見方式
這篇文章主要介紹了SpringBoot讀取resource目錄下properties文件的常見方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
idea如何解決commit代碼時一直code Analyze加載的問題
文章介紹了解決Git提交代碼時出現(xiàn)codeAnalyze加載卡頓問題的方法,即關閉IDEA中的相關設置選項,作者分享個人經(jīng)驗,希望對大家有所幫助,并鼓勵支持腳本之家2025-01-01

