Jenkins系列視頻~Jenkins 共享庫的基礎使用

Jenkins系列視頻教程火熱製作中,每週二發佈(關注 Jenkins 中文社區嗶哩嗶哩,查看完整的視頻)。

本視頻中,介紹 Jenkins Shared-library 共享庫的基本使用



概述

Jenkins shared-library 也就是流水線共享庫,使用 Groovy 編寫,用於封裝 Jenkins 流水線(Pipeline)腳本(Jenkinsfile)中的通用邏輯。更多描述,請查看 Jenkins 官方文檔。

爲什麼?

在企業中,通常有很多項目的構建、發佈過程是非常相似的。有統一的軟件構建、發佈流程,對於提高團隊效率,減少不必要的面對面溝通的重要手段。但,隨之而來的一個問題是:

  • 需要維護很多流水線腳本

  • 流程上一旦有改動,就需要對很多項目進行修改

  • 部分情況下,流水線的維護者和項目的開發者不在一個團隊,從而沒有修改代碼庫的權限

對於以上所描述的情況,相信很多人都能想到,我們需要一個集中存放流水線腳本的地方。例如:有人希望可以把流水線腳本(Jenkinsfile)存放到一個 HTTP 服務器上,讓每個項目都使用這個服務器上的腳本。

但是,我想說的是:千萬不要把你們團隊的軟件構建、發佈腳本隨隨便便扔一個地方了事。如果你認爲這些腳本就是一些普通的文本文件,那麼你就錯了。正是這些腳本很大程度上影響着團隊的項目迭代效率,沒有人會希望看到在項目發版時遇到錯誤並卡住不知道問題在哪裏,也不知道是誰在什麼時候處於什麼原因做了什麼修改。

SCM 就是來解決我剛剛提到的那些問題的,把腳本一定要提交到代碼倉庫(Git)中,而且,一定要保證腳本的修改能得到充分的複查(review)。這樣,即使遇到了問題,也能夠通過回滾(revert)來撤回修改。

我這裏要分享的共享庫,就正好是這樣一種技術。它和流水線腳本一樣,都是採用 Groovy 語言來編寫,並保存在 SCM 中。當然,時下很多人都會選擇將共享庫提交到 Git 中。那麼,我們在使用的時候,和使用其他依賴項目一樣,會選擇某個代碼庫以及特定分支的版本。


該系列視頻由Jenkins中文社區聯合TesterHome、Kubesphere、DevOps中國、雲原生技術社區、禪道共同發佈。更多細節請查看 https://github.com/jenkins-zh/jenkins-zh/issues/383




本文分享自微信公衆號 - Jenkins(Jenkins-Community)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章