使用 Jenkins 共享庫(kù)對(duì)流水線進(jìn)行擴(kuò)展
── docs│ └── README.mdREADME.md├── src│ └── org│ └── devops│ └── tools.groovy└── vars
新建文件src/org/devops/tools.groovy, 在此我將這個(gè)文件定義為擴(kuò)展工具類,主要放一些擴(kuò)展方法。
例如:在構(gòu)建日志中查看流水線詳細(xì)日志會(huì)很亂,我們可以在日志中將重點(diǎn)步驟通過(guò)不同的顏色高亮顯示,便于排錯(cuò)。我們開始寫這樣的一個(gè)方法PrintMes(),包含兩個(gè)參數(shù),輸出內(nèi)容value和內(nèi)容的顏色color。
AnsiColor,這樣才能使用ansiColor()方法,可以在片段生成器查看更多的用法。package org.devops//格式化輸出def PrintMes(value,color){colors = ['red' : "\033[40;31m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m",'blue' : "\033[47;34m ${value} \033[0m",'green' : "[1;32m>>>>>>>>>>${value}>>>>>>>>>>[m",'green1' : "\033[40;32m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m" ]ansiColor('xterm') {println(colors[color])}}
我們導(dǎo)航到 系統(tǒng)配置 ->?Global Pipeline Libraries
首先,我們?yōu)楣蚕韼?kù)設(shè)置一個(gè)名稱jenkinslib,注意這個(gè)名稱后續(xù)在Jenkinsfile中引用。再設(shè)置一個(gè)默認(rèn)的版本,這里的版本是分支的名稱。我默認(rèn)配置的是master版本。


好,到此共享庫(kù)在Jenkins的配置就完成了,接下來(lái)測(cè)試在Jenkinsfile中引用。
在Jenkinsfile中使用@Library('jenkinslib') _來(lái)加載共享庫(kù),注意后面符號(hào)_用于加載。類的實(shí)例化def tools = new org.devops.tools(),使用類中的方法tools.PrintMes("獲取代碼",'green')。
#!groovy@Library('jenkinslib') _def tools = new org.devops.tools()pipeline {agent { node { label "master" }}stages {//下載代碼stage("GetCode"){steps{timeout(time:5, unit:"MINUTES"){script{tools.PrintMes("獲取代碼",'green')}}}}}}
評(píng)論
圖片
表情
