五個舉措:現代化Jenkins 和終結“Jenkinsteins”

摘要:Jenkins和CloudBees首席技術官川口耕介(Kohsuke Kawaguchi)上月在尼斯的Jenkins World上發表了演講,談到了現代化這款流行的CI/CD工具的五個正在進行的項目。川口耕介想要解決隨着老化出現的痛點,他倡議圍繞Jenkins Evergreen、Jenkins Pipeline (Blue Ocean)、Jenkins Configuration-as-Code、Jenkins X和雲原生Jenkins這五個項目着手解決。他們每一個都處於不同的發展階段,而且彼此間保持着獨立。

Jenkins和CloudBees首席技術官川口耕介(Kohsuke Kawaguchi)上月在尼斯的Jenkins World上發表了演講,談到了現代化這款流行的CI/CD工具的五個正在進行的項目。川口耕介想要解決隨着老化出現的痛點,今年早些時候在一篇文章中討論到,特別要注意所謂的“Jenkinsteins”出現了:大量的項目和團隊使用了大量臃腫集中的安裝工具,導致性能低下,以及依賴關係和管理的噩夢。他倡議圍繞Jenkins Evergreen、Jenkins Pipeline (Blue Ocean)、Jenkins Configuration-as-Code、Jenkins X和雲原生Jenkins這五個項目着手解決。他們每一個都處於不同的發展階段,而且彼此間保持着獨立。

Jenkins Evergreen的目標是更快的開箱即用的體驗,它提供預置模版,極大地降低了管理和配置的工作量。此外, Blue Ocean(目前已得到廣泛使用的一個插件,專注於使流水線更清晰可視化)將成爲默認UI(具體的時間尚未公佈),那麼每次需要修改時就不必再切換到經典UI了。川口耕介稱,Jenkins Evergreen還將提供自我升級功能,對用戶來說基本上是透明的。Evergreen目前處於測試階段,還不推薦用於生產。

川口耕介告訴InfoQ,Evergreen最終將能夠持續交付Jenkins本身。它將支持運行post bootstrap自助測試和診斷,將信息發送回相應的團隊,以監控錯誤和趨勢。還將內建自動回滾,以防萬一升級失敗。當被問及用戶是否能夠添加自己的post bootstrap診斷時,川口耕介說,做這個項目的團隊應該考慮這種可能性。

Jenkins Configuration as Code(Jenkins配置即代碼,也稱爲JCasC)旨在支持以YAML格式對Jenkins的設置(具有合理的缺省值)進行編碼,以便能夠完全自動化對交付系統的安裝和更新。然後,團隊可以像處理任何其他代碼提交和拉取請求一樣處理對Jenkins配置的更改,並在出現問題時回滾。最後,刪除對Jenkins UI的依賴可以加速其設置和管理,減少出錯的可能性,提高可重複性。JCasC插件的1.0版本於9月初發布,已經可以投入生產使用。

Jenkins X 是一個完全獨立於Jenkins的解決方案(儘管它們在幕後共享相同的流水線引擎),Jenkins在今年早些時候引入了這個解決方案。它爲基於 GitOps方式的雲本地(基於Docker和Kubernetes)應用程序交付提供了很有獨道見解的視圖。它的優點之一是通過使用常見的第三方工具(Helm 圖表、 Skaffold,和 Prow的1.3版本)以及快速入門功能,使新用戶可以快速上手特定棧的通用流水線自動化。 jx 命令行工具進一步支持管理任務的自動化和流水線及Kubernetes集羣和環境的設置。Jenkins X已經可以用於生產了。

當被問及創建像Jenkins X這樣的獨立解決方案是否會讓人感到困惑或者增加採用的阻力時,川口耕介告訴InfoQ,Jenkins X與Jenkins“有着相同的DNA”,只是側重點不同而已。Jenkins X針對特定的用例和工作流,減少了UI界面。他還認爲,隨着人們的接受程度不斷提高,Jenkins X將在某個時候與經典Jenkins 捆綁在一起。川口更喜歡把生態系統看作一個整體:

Jenkins正在變得越來越大,不僅僅是一個web應用程序和一堆插件。它是一個自動化的平臺。真正讓Jenkins成爲Jenkins的是這種生態系統的力量,許多人在此基礎上構建和試驗,並且走的是不同的方向。如果你關注Jenkins X, 會非常明顯地看到其Jenkins DNA。

最後,將Jenkins現代化,使其在Kubernetes中作爲一個完整的雲本地應用程序運行,從而受益於更高的可用性和性能,這是雲本地特殊興趣組( Cloud Native special interest group)的目標。爲了擺脫傳統的客戶機/服務器設計,這個團隊將對Jenkins架構進行增量改進。例如,支持Jenkins數據的可插拔外部存儲(當前保存在服務器的文件系統中),並向無狀態Jenkins服務發展。目前還沒有完成這一倡議或其任何部分的時間表。
我們非常渴望從InfoQ讀者這裏得到反饋。在與Jenkins一起成長的過程中,你是否遇到過什麼痛點?你認爲正在進行的計劃會消除這些痛點嗎?如果有什麼意見建議,歡迎在下面評論。

查看英文原文:
https://www.infoq.com/news/2018/11/jenkins-world-initiatives

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