Jenkins Pipeline系列(一)—— 如何配置擴(kuò)展共享庫(kù)

什么是擴(kuò)展共享庫(kù)

在工作中,我們可能會(huì)有很多Maven項(xiàng)目的打包部署,還有Android、iOS等等的打包任務(wù),雖然項(xiàng)目不同,但是打包、部署等等流程有很多相似之處,擴(kuò)展庫(kù)共享庫(kù)允許我們抽象出很多公共部分,這樣后續(xù)在新項(xiàng)目配置Pipeline的時(shí)候,會(huì)非常簡(jiǎn)便

準(zhǔn)備

  • Jenkins:安裝建議參考Jenkins安裝
  • Gitlab:安裝建議參考Gitlab安裝
    為了方便,我這里都選擇Docker安裝,請(qǐng)大家自行配置Gitlab和Jenkins相關(guān)參數(shù),比如Gitlab的SSH Key,Jenkins的憑證,這里不做贅述

擴(kuò)展共享庫(kù)配置

1.創(chuàng)建Gitlab Repo
  • 如圖,我創(chuàng)建了名字是jenkins-shared-libraries的Git Repo


    git-repo.png
2.目錄說(shuō)明
(root)
+- src                     # Groovy 源碼文件
|   +- com
|       +- michael
|           +- Bar.groovy  # for org.foo.Bar class,主要是類庫(kù)相關(guān)
+- vars                        # 變量和公共過(guò)程
|   +- foo.groovy          #  全局'foo'變量
|   +- foo.txt                 # 'foo' 變量的幫助文檔
+- resources               # 資源文件 (external libraries only)
|   +- com
|       +- michael
|           +- bar.json    # static helper data for com.michael.Bar
|           +- bar.shell   # shell scripts
|   +- package.json   # 主要是Git commit message 插件
|   +- commitlint.config.js   # 主要是Git commit message 插件
3.配置Jenkins擴(kuò)展共享庫(kù)
  • 依次點(diǎn)擊 系統(tǒng)管理 > 系統(tǒng)配置,找到Global Pipeline Libraries,如下圖


    jenkins-shared-lib.png
4.編寫Pipeline Demo

在git的jenkins-shared-libraries中的vars下面,新建log.groovy文件,并提交

def info(message) {
    echo "INFO: ${message}"
}

def warning(message) {
    echo "WARNING: ${message}"
}

def error(message) {
    echo "ERROR: ${message}"
}
5.執(zhí)行
  • 新建JOB


    jenkins-create-job.png
  • 執(zhí)行JOB
    在Pipeline中引用共享庫(kù),并使用log.info的方法


    jenkins-pipeline.png
  • 執(zhí)行結(jié)果


    jenkins-pipeline-result.png

PS:這里僅僅是最簡(jiǎn)單的Hello world的擴(kuò)展庫(kù)介紹,讓大家有個(gè)感性認(rèn)識(shí),后面的文章,會(huì)針對(duì)Maven、Npm這些常見的打包部署方式的項(xiàng)目,進(jìn)行Pipeline的擴(kuò)展共享庫(kù)的實(shí)踐介紹。

Reference

Jenkins安裝
Gitlab安裝
Jenkins Shared-Libraries

Jenkins Pipeline系列(一)—— 如何配置擴(kuò)展共享庫(kù)
Jenkins Pipeline系列(二)—— 使用擴(kuò)展共享庫(kù)構(gòu)建Maven項(xiàng)目
Jenkins Pipeline系列(三)—— 使用擴(kuò)展共享庫(kù)構(gòu)建微信小程序項(xiàng)目
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容