任何人都可以請讓我知道Jenkins和其他CI如Gitlab-CI,drone.io和GIT分佈式之間的區別是什麼。在一些研究中,我只能提出Gitlab社區版不允許添加Jenkins,但Gitlab企業版不會。是否還有其他重大差異。Gitlab CI vs Jenkins
回答
這是我的經驗:
在我的工作中,我們管理我們與gitlab EE庫,我們有一個詹金斯服務器(1.6)運行。
在他們的基礎上,他們幾乎完全相同。他們將在服務器/泊塢窗圖像上運行一些腳本。
TL; DR;
- 詹金斯更容易使用/學習,但有風險,成爲一個插件地獄
- 詹金斯有一個GUI(這可以是優選的,如果它是入店/維護其他人)
- 與GitLab集成小於與Gitlab-CI
- 詹金斯可以分裂出去的回購
大多數CI服務器是非常直接的(concourse.ci,gitlab-ci,circle-ci,travis-ci,drone.io,gocd和你還有什麼)。它們允許你從yaml文件定義中執行shell/bat。詹金斯更具可插拔性,並帶有用戶界面。根據您的需求,這可以是優勢或劣勢。
由於可用的所有插件,Jenkins非常易於配置。這個缺點是你的CI服務器可以成爲一個插件的意大利麪條。
在我看來,Jenkins中的鏈接和編排工作比通過Yaml(調用curl命令)簡單得多(因爲UI)。除此之外,Jenkins還支持在服務器上不可用時安裝某些二進制文件的插件(不知道其他文件)。
如今(jenkins2還支持更多的「適當的詞」與Jenkinsfile
和來自默認從詹金斯2 pipline插件)的,而是用來將較少耦合到存儲庫比即gitlab Cl。
使用yaml文件來定義您的構建管道(並且最終運行純shell/bat)會更清潔。
編輯:我在這裏忘記提供的是可用於Jenkins的插件,它允許您可視化各種報告,例如測試結果,覆蓋率和其他靜態分析器。當然,你可以寫或使用工具來爲你做這一點,但它絕對是詹金斯加(尤其是經理誰往往看重這些報道太多)
EDIT2:最近我一直在努力Gitlab-ci越來越多。在Gitlab,他們正在做一件非常棒的工作,讓整個體驗變得有趣。我知道人們使用Jenkins,但是當您運行Gitlab並且可用時,開始使用Gitlab-ci非常容易。不會有任何與Gitlab-ci一樣無縫集成的東西,即使他們在第三方集成中付出了相當的努力。
- 他們的文檔應該讓你在任何時間
- 門檻上手開始是非常低的
- 容易維護(無插件)
- 縮放亞軍簡單
- CI完全一部分你的資料庫
- 詹金斯工作/視圖會導致混亂
在寫作的時候
- 單個文件只支持,但是這將是fixed很快
由於[Blue Ocean](https://jenkins.io/projects/blueocean/),Jenkins現在可以獲得更好的GUI –
從gitlab 9.3開始,添加了多項目管道支持。這對我來說是堅持詹金斯的主要原因之一。目前我正在做一個PoC來檢查我是否可以使用gitlab進行管理,因爲它們現在顯然也將重點放在了這一點上,並且它們正在快速發展。除此之外,我真的很喜歡UI以及它隨着時間的推移而發展。 – Rik
我同意大部分裏克的筆記,但我認爲關於這是一個簡單的一些特殊待遇相反:GitLab被證明是一款非常棒的工具。
大部分電力都來自被自包含在同一瀏覽器選項卡下的同一產品和integrating everything:從庫瀏覽器,問題板或建立歷史部署工具和monitoring。
我使用它現在自動化和測試應用程序如何安裝不同的Linux發行版,它只是超快配置(試圖打開Firefox的複雜詹金斯作業配置,等待無響應腳本來提出與輕量級編輯.gitlab-ci.yml
)。花費在配置/縮減從站上的時間要少得多,這要歸功於runner binaries;再加上GitLab.com這個事實,你可以獲得相當體面的免費共享參賽選手。
Jenkins感到更多手冊在成爲GitLab CI的強大用戶(例如,複製每個分支的作業,安裝插件來完成諸如SCP上傳等簡單工作。我今天遇到的唯一使用案例就是涉及多個存儲庫的情況;這需要很好地弄清楚。
順便說一句,我目前正在編寫一個關於GitLab CI的系列文章,以演示如何使用它配置您的存儲庫CI基礎架構並不困難。上週發佈的第一篇介紹基本知識,優缺點以及與其他工具的區別:https://solidgeargroup.com/gitlab_countinuous_integration_intro
我完全同意你關於Gitlab。在撰寫本文時,gitlab並不像現在這樣完整。我非常喜歡Gitlab作爲一種工具,並且非常感謝這些傢伙投入其中的所有工作。 – Rik
@alfageme:我將在提及的網站上查看您的報告 無論如何:感謝您的所有解釋。在此刻,我將決定是否將gitlabCI或Jenkins用於我們的CI-Stuff。 –
@MaxS你最終使用了什麼? – user1870400
- 1. GitLab&GitLab CI WebHook錯誤
- 2. Gitlab和Gitlab CI CSRF錯誤
- 3. GitLab CI亞軍,
- 4. GitLab CI加速
- 5. Gitlab-ci-Runner-Stuck
- 6. GitLab CI JS Linting
- 7. 與jenkins連接gitlab
- 8. GitLab CI無頭鉻
- 9. GitLab CI Pipeline Stage Timeout
- 10. Gitlab-CI和Apartment Gem
- 11. Gitlab CI Ssl錯誤
- 12. Gitlab CI Docker Network timeout
- 13. Gitlab多項目CI
- 14. Gitlab CI,SSH亞軍
- 15. Jenkins和GitLab CI與Multibranch和個別管道集成
- 16. 如何比較travis-ci和gitlab-ci?
- 17. Jenkins CI - SSL handshake_failure
- 18. jenkins selenium test ci
- 19. 如何有條件地跳過Jenkins的CI測試,對於CI
- 20. Gitlab CI動態ssh主機
- 21. Gitlab和CI服務器
- 22. Angular 2項目的Gitlab CI
- 23. 使用Gitlab和Heroku的CI
- 24. Gitlab CI工件與403
- 25. Gitlab CI使用ed25519私鑰
- 26. Gitlab CI和量角器
- 27. GitLab CI:無法設置JAVA_HOME
- 28. 未找到Gitlab ci文物
- 29. Gitlab CI安裝錯誤
- 30. gitlab-ci中的全局GOPATH
GitLab現在也將GitLab CI與Jenkins進行了比較:https://about.gitlab.com/comparison/gitlab -vs-jenkins.html – bbodenmiller