Jenkins 是一個由開源社區驅動的項目,擁有非常豐富的插件生態,任何人都可以根據社區給出的指南為之作出貢獻,甚至是將自己開發的插件託管到 Jenkins 社區。從插件市場上能看到,到目前為止有超過1500個插件可供 Jenkins 的用戶挑選。當我們走進 Jenkins 這個巨型超市時,有多少人曾經有過這樣的感覺——看著琳瑯滿目的商品,卻完全無從下手?自由風格,流水線即代碼,申明式流水線,多分支流水線,配置即代碼,又有多少人被應接不暇的社區新概念搞得沒了頭緒?
讓我們暫且不去關心其他語言的用戶體驗如何,單看 Jenkins 簡體中文插件3萬左右的下載量,就足以證明 Jenkins 中文本地化工作對很多用戶是有意義的。在之前的一篇博文中,我們從改善用戶下載、更新插件的角度出發,發布了 Jenkins 插件中心國內源。在此,需再次對清華大學開源鏡像站等組織對開源項目的支持,讓更多的人得以站在巨人的肩膀上前行。在過去的四個月的時間裡,插件國內源的用戶在逐步上升;用戶檢查更新插件的峰值為931次/天。
從上面的兩個數據中,不難看出,還是有相當一部分用戶還沒有享受到插件國內源的益處。這可能有多個原因導致:文檔不清晰、配置步驟繁雜、伺服器不穩定等等。對於文檔、配置等問題而言,一個殺手級的一個解決方案就是——不需要文檔和配置。本文要介紹給大家的就是這麼一種開箱即用的方案,就像樂高積木一樣,而用戶只需要提交一個訂單(YAML 文件)就能拿到他所需要的 Jenkins 發行版。是的,作為用戶,不僅不再需要配置國內源,甚至都不需要下載和配置插件。
Jenkins 自定義發行版項目,默認提供了幾個常用的配方,並支持用戶以 YAML 的格式提交配方。這裡的配方,包括了發行版中 Jenkins Core 的版本、插件列表、插件配置、初始化腳本等等。一旦提交的配方 Pull Request 合併到 master 分支後,就可以自動地構建出來對應的 docker 鏡像以及 jenkins.war 文件。如果 Jenkins 有了新版本的話,是否還需要重新提交配方請求呢?我們已經考慮到了這一點,一旦有新版本發布的話,會自動構建出來對應的發行版(也許會有一天的延遲)。大家如果喜歡這個方案的話,可以關注託管在碼雲或者 GitHub 上的項目。目前,Docker 鏡像的下載量已經有3000+,心動不如行動,趕快試試吧!
現有的配方包括:
上面的清單中沒有你想要的?自己動手,豐衣足食。參考下圖中的 Pull Request 來提交幾個文本文件,就可以了。
查看文中連結,請點擊【閱讀原文】