歡迎您光臨本站 註冊首頁

Jenkins 插件中心國內鏡像源發布

←手機掃碼閱讀     admin @ 2019-11-12 , reply:0

Jenkins 插件中心國內鏡像源發布

忍受不了官方站點下載速度的速速看過來

flash.jpg

Jenkins 社區的網路基礎設施都是架設在國外的伺服器上,而且,並沒有在國內有 CDN 或者負載均衡的配置。 對所有的 Jenkins 用戶而言,1500+的插件可以幫助他們解決很多問題。然而,我相信,對於國內的很多用戶來說, 可能有過一些不太愉快的經歷——插件下載速度很慢,甚至會超時。難道遇到這種情況下,我們就只能等嗎?

程序員,作為天生懶惰的人,總是希望能通過手中的鍵盤來解決各種個樣的問題。憑什麼?下載一個插件, 我還的苦苦地等待來自美國的數據包呢?數數你手裡的 Jenkins 都安裝了多少個插件。30個算少的吧。 經過一番搜索,發現果然已經有前人幫忙把大樹種好了。讓我們一起感謝「清華大學開源軟體鏡像站」提供的鏡像服務:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/

但是,當我興沖沖地把 Jenkins 插件管理頁面的更新中心的地址修改後,卻發現了一個奇怪的情況,好像還是那麼慢啊。 不管是換地址,還是換4G,換電腦都解決不了這個網路排隊的問題。本著開源的精神(不滿意就提 issue 或者 Pull Request), 我只好繼續挖掘這裡的秘密。下面,是我向 TUNA 提的一個 issue(可以看到貌似我並不是第一個吐槽的人):

https://github.com/tuna/issues/issues/659

是的,rsync 可以幫我們把106G的文件同步過來,免去了出國下載插件的麻煩,可沒有解決最後一公里的痛。

通過下面的 PR 我們可以大致了解到,Jenkins 是通過解析 update-center.json 文件的方式來獲取插件版本, 以及下載插件的。另外,如果你認為只是修改下文件里的 URL 就能解決這個問題的話,那麼,請再仔細想一下這個事情。 既然小白兔可以把地址修改為一個比較方便的值,那麼,大灰狼為啥不能往那些插件里加點辣椒水呢。 Jenkins 作為一個在 CI/CD 領域裡領先了15年之久的大叔,當然不會輸給了一些小毛賊。簡單來說呢,這個事情 是通過兩把鑰匙來解決的——官方用其中一把鑰匙給文件做了簽名,並保管起來;把另外一把鑰匙對外公布(保存在發行版中)。 只有通過了公鑰驗證的 update-center.json 文件,才會被使用到。

https://github.com/jenkins-infra/update-center2/pull/245

知道了問題所在,解決起來自然就容易了。Jenkins 中文社區幫大家把鑰匙和地址的問題解決了,按圖索驥三步走:

jenkins-zh-footer.png

jenkins-zh-setting.png

jenkins-zh-update.png

想了解技術細節?擔心我們是大灰狼?我們歡迎喜歡學習的同學,更歡迎人民大眾的檢閱。 提問題,提需求,提代碼,提文檔,都是可以的。實際上,我們的整套方案中,所有的部分(除了拿一把鑰匙以外) 都是開源的,包括還不夠完善的設計文檔。而且,並不需要花一分錢,完全利用現有的計算、存儲資源。 此處,讓我們再次感謝清華開源鏡像站點、GitHub Actions、碼雲 Page 等。

https://github.com/jenkins-zh/mirror-adapter

最重要的事情,一定要在最後才說出來(不喜歡認真閱讀文檔的同學,對不起了)。想要體驗極速 安裝插件的同學,請認準 Jenkins 簡體中文插件的版本:1.0.10

https://plugins.jenkins.io/localization-zh-cn


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/111266/jenkins-plugin-mirror
Jenkins 插件中心國內鏡像源發布已經有220次圍觀

http://coctec.com/news/all/show-post-219313.html