一、Jenkins Pipelines介紹
Pipeline,簡而言之,就是一套執行於Jenkins上的工作流框架,將原本獨立執行於單個或者多個節點的任務連線起來,實現單個任務難以完成的複雜流程編排與視覺化。
Pipeline是Jenkins2.X的最核心的特性,幫助Jenkins實現從CI到CD與DevOps的轉變
Pipeline是一組外掛,讓Jenkins可以實現持續交付管道的落地和實施。
持續交付管道(CD Pipeline)是將軟體從版本控制階段到交付給使用者或客戶的完整過程的自動化表現。軟體的每一次更改(提交到原始碼管理系統)都要經過一個複雜的過程才能被髮布。
Pipeline提供了一組可擴充套件的工具,通過Pipeline Domain Specific Language(DSL)syntax可以達到Pipeline as Code(Jenkinsfile儲存在專案的原始碼庫)的目的。
二、Jenkins Pipelines語法
1.常用關鍵字
關鍵字 | 描述 |
pipeline | 宣告式的pipeline指令碼 |
agent | 執行任務的代理,執行節點,如:any,none, label, node,docker,dockerfile |
stages | 階段集合,包裹所有的階段(例如:打包,部署等各個階段) |
stage | 階段,被stages包裹,一個stages可以有多個stage,例如:“Build”,“Test”,“Deploy”。 |
steps | 步驟,為每個階段的最小執行單元,被stage包裹 |
post | 執行構建後的操作,根據構建結果來執行對應的操作,如:always、changed、failure、success、unstable、aborted |
environment | 宣告一個全域性變數或者步驟內部的區域性變數,如:environment { P1="parameters 1" } |
options |
提供給指令碼更多的選項。 buildDiscarder:指定build history與console的儲存數量 |
parameters | 提供pipeline執行的引數,如:parameters { string(name: 'P1', defaultValue: 'it is p1', description: 'it is p1') booleanParam(name: 'P2', defaultValue: true, description: 'it is p2') } |
triggers | 觸發器是自動化執行pipeline的方法,例如cron,pollSCM,或者upstream |
tools | 用於引用配置好的工具,
tools { |
input | 暫停pipeline,提示輸入內容 |
三、建立一個Jenkins Pipelines
1.新建pipelines
Jenkins首頁->新建任務->輸入一個任務名->選擇流水線->點選確認
2.配置General、構建觸發器
這兩部分的配置請參照之前的一篇文章,本章主要是講解pipelines,所以不在重複描述,連結如下:
https://www.cnblogs.com/airb/p/13229354.html
3.配置pipelines
pipelines指令碼:
pipeline { agent any environment{ MAVEN_HOME = "/var/lib/jenkins/workspace/ADCS_API_QAT_BVT" //主目錄 dockerfile_path = '/var/lib/jenkins/workspace/ADCS_API_QAT_BVT/環境搭建/Dockerfile' //Dockerfile檔案目錄 } stages { stage('Checkout') { steps { echo 'Git拉取程式碼' git credentialsId: 'Git密碼', url: 'Git地址' } } stage('Docker') { steps { echo 'Docker環境構建' sh 'docker build -t python:3.7.9 -f ${dockerfile_path} .' //構建Docker環境 } } stage('Test') { steps { echo '執行測試用例' sh 'docker run -i -v ${MAVEN_HOME}:/mnt python:3.7.9 robot --include BVT -d ${MAVEN_HOME}/report AGGS_API' } } } post { always { echo '清空檔案' deleteDir() //清空所有檔案 } } }
4.階段檢視
任務配置完成後點選立即構建,可檢視pipelines階段檢視
5.檢視Pipelines執行日誌
構建完成後->點選左下角Console Output