Jenkins将致力于提升稳定性、易用性和云原生兼容性
Jenkins項目團隊決定在穩定性和為Kubernetes等平臺提供更好的支持方面分配一些工作量。前者可能會發生一些向后不兼容的變更,將影響發布模型并提供具有更多預置選項的版本,而后者將在與現有Jenkins X項目齊頭并進。
\\Jenkins目前在處理大型復雜管道方面可能不太穩定。Jenkins的創始人兼CloudBees首席技術官Kohsuke Kawaguchi寫道,由于資源問題和插件的升級,部分部署需要頻繁重啟。配置可能很脆弱,插件管理以及更改構建作業的設置可能會無法立即可見。為避免對系統造成破壞,系統管理員對變更總是猶豫不決。最終用戶體驗很復雜,因為Jenkins需要配置太多組件才能完成工作。由于沒有足夠的測試覆蓋率,Jenkins本身的開發速度受到限制。因為評審的周期太長,新老開發者的貢獻受到了影響,這可能會對他們未來的貢獻造成阻礙。
\\該提案的一部分試圖通過更改發布模型并在保持向后兼容性方面采取措施來解決這些問題。在Jenkins World 2017貢獻者峰會上,Kawaguchi劃定了應該開箱即用的Jenkins功能和需要管理員配置的功能區分。后者包括設置HipChat/Slack集成、Webhook集成以及系統層面的設置(如用于電子郵件通知的SMTP)。他還提出,部分解決方案是“將核心和一些重要的插件作為基礎”,這樣Jenkins就可以預先配置它們并縮短花在配置上的時間。Jenkins 2.0模型將繼續,但可能會引入破壞向后兼容性的變更。
\\由Jenkins Cloud Native SIG驅動的云原生Jenkins提議是關于在Kubernetes等云原生平臺上運行Jenkins。Jenkins X平臺就是這樣的一個項目,它使用Jenkins作為核心引擎,并增加了一個工具集。Kawaguchi表示,云原生Jenkins的未來是朝著Jenkins X的方向發展。這個版本的Jenkins很可能有一個不同的架構——將各種功能作為單獨的微服務,使用功能即服務,而不是現在的這種構建進程,以及通過Kubernetes自定義資源進行交互的服務。當前存儲在文件系統上的數據將被移動到云存儲服務。Jenkins Configuration as Code(JCasC)項目嘗試使用Jenkins主節點的聲明性配置解決一些配置問題。此外,Jenkins Evergreen項目“為最終用戶提供了可以立即用于實現CI和CD工作負載的預裝配件集”。Evergreen可以進行自動更新。這兩個將是云原生計劃的關鍵部分。其他CI解決方案(如Gitlab CI)已經可以與托管Kubernetes服務集成。
\\Jenkins X通過環境的概念在Kubernetes上實現微服務部署,環境概念表示源代碼存儲庫中給定點的一組協同工作的服務。我們可以為Dev、Staging和Production或任何其他發布階段創建環境。環境映射到Kubernetes名稱空間。Jenkins X提供了一個名為jx的命令行工具,可用于管理環境、在環境之間切換以及升級Jenkins平臺本身。它目前可以在MacOS和Linux上運行,并支持主要的云提供商,如AWS、GKE和Azure。
\\考慮到其他CI工具已經提供了類似的支持,有些用戶認為這些努力為時已晚,但Jenkins擁有龐大的用戶群,或許它仍然可以給這些用戶和新用戶帶來好處。
\\查看英文原文:Jenkins to Focus Efforts on Stability, Ease of Use and Cloud Native Compatibility
總結
以上是生活随笔為你收集整理的Jenkins将致力于提升稳定性、易用性和云原生兼容性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输出cglib以及jdk动态代理产生的c
- 下一篇: 吴恩达Coursera机器学习 - Ch