2016-05-25 304 views
64

任何人都可以請讓我知道Jenkins和其他CI如Gitlab-CI,drone.io和GIT分佈式之間的區別是什麼。在一些研究中,我只能提出Gitlab社區版不允許添加Jenkins,但Gitlab企業版不會。是否還有其他重大差異。Gitlab CI vs Jenkins

+2

GitLab現在也將GitLab CI與Jenkins進行了比較:https://about.gitlab.com/comparison/gitlab -vs-jenkins.html – bbodenmiller

回答

68

這是我的經驗:

在我的工作中,我們管理我們與gitlab EE庫,我們有一個詹金斯服務器(1.6)運行。

在他們的基礎上,他們幾乎完全相同。他們將在服務器/泊塢窗圖像上運行一些腳本。

TL; DR;

  • 詹金斯更容易使用/學習,但有風險,成爲一個插件地獄
  • 詹金斯有一個GUI(這可以是優選的,如果它是入店/維護其他人)
  • 與GitLab集成小於與Gitlab-CI
  • 詹金斯可以分裂出去的回購

大多數CI服務器是非常直接的(concourse.cigitlab-cicircle-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很快
+5

由於[Blue Ocean](https://jenkins.io/projects/blueocean/),Jenkins現在可以獲得更好的GUI –

+2

從gitlab 9.3開始,添加了多項目管道支持。這對我來說是堅持詹金斯的主要原因之一。目前我正在做一個PoC來檢查我是否可以使用gitlab進行管理,因爲它們現在顯然也將重點放在了這一點上,並且它們正在快速發展。除此之外,我真的很喜歡UI以及它隨着時間的推移而發展。 – Rik

33

我同意大部分裏克的筆記,但我認爲關於這是一個簡單的一些特殊待遇相反: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

+2

我完全同意你關於Gitlab。在撰寫本文時,gitlab並不像現在這樣完整。我非常喜歡Gitlab作爲一種工具,並且非常感謝這些傢伙投入其中的所有工作。 – Rik

+1

@alfageme:我將在提及的網站上查看您的報告 無論如何:感謝您的所有解釋。在此刻,我將決定是否將gitlabCI或Jenkins用於我們的CI-Stuff。 –

+0

@MaxS你最終使用了什麼? – user1870400