你還在用Jenkins?趕快看看這些替代方案吧!
本文將為大家介紹幾個(gè)持續(xù)集成中常用的 Jenkins 替代方案。
1、BuildMaster

項(xiàng)目地址:https://inedo.com/buildmaster
Inedo 的 BuildMaster 是 Jenkins 替代方案之一,開(kāi)發(fā)人員能夠用它將軟件發(fā)布到各種環(huán)境,為各種平臺(tái)提供全面的持續(xù)集成能力,使團(tuán)隊(duì)有能力創(chuàng)建私有的自助發(fā)布管理平臺(tái),單獨(dú)處理自己的應(yīng)用程序并私有部署。更重要的是,避免自動(dòng)發(fā)布未經(jīng)測(cè)試的軟件。因?yàn)闊o(wú)需精通流水線即可使用,所以用戶對(duì)它的簡(jiǎn)潔性都非常滿意。
2、Microtica

項(xiàng)目地址:https://microtica.com/
通過(guò)微服務(wù)生成器,開(kāi)發(fā)人員可以自動(dòng)化地創(chuàng)建微服務(wù)。通過(guò)已集成的預(yù)上線 Kubernetes 和本地 Kubernetes 儀表板,只要點(diǎn)一點(diǎn)鼠標(biāo)就能創(chuàng)建出可伸縮的應(yīng)用程序。
Microtica 流水線定義每個(gè)組件和微服務(wù)的工作流。用戶可以隨時(shí)自動(dòng)或手動(dòng)觸發(fā)它們,獲取整個(gè)構(gòu)建的概覽。用戶可以在 Microtica 網(wǎng)站內(nèi)執(zhí)行所有的操作,每次變更都有 Slack 通知。
最后一點(diǎn),Microtica 允許開(kāi)發(fā)人員設(shè)置自動(dòng)化的休眠周期,降低 AWS 成本。一旦啟動(dòng)節(jié)約模式,Microtica 會(huì)自動(dòng)運(yùn)行,防止過(guò)度消費(fèi)。而且,節(jié)省了多少錢(qián)還可在成本儀表板中看到。
3、GitLab

項(xiàng)目地址:https://about.gitlab.com/
4、CircleCI

項(xiàng)目地址:https://circleci.com/
5、Bamboo

項(xiàng)目地址:https://www.atlassian.com/software/bamboo
Atlassian 的 Bamboo 是持續(xù)集成服務(wù),可以自動(dòng)從一個(gè)地方創(chuàng)建、監(jiān)聽(tīng)和發(fā)布應(yīng)用。它與 JIRA 應(yīng)用程序和 Bitbucket 集成很方便。此外,Bamboo 集成了 Docker、Git、SVN 和 Amazon S3 存儲(chǔ)。基于對(duì)倉(cāng)庫(kù)中變更的檢測(cè),可觸發(fā)構(gòu)建并推送來(lái)自 Bitbucket 的通知。它既可托管,也可在本地使用。G2 用戶 說(shuō),Bamboo 構(gòu)建過(guò)程的可視化很棒,但是一些術(shù)語(yǔ)和集成還不太容易理解。
6、TravisCI

項(xiàng)目地址:https://travis-ci.org/
TravisCI 是持續(xù)集成托管服務(wù),開(kāi)發(fā)人員可以使用它來(lái)開(kāi)發(fā)和驗(yàn)證 GitHub 和 Bitbucket 托管的應(yīng)用程序。它可以測(cè)試所有 pull 請(qǐng)求,以確保不會(huì)發(fā)布出去未測(cè)試過(guò)的代碼。用戶可以登錄 GitHub 來(lái)創(chuàng)建項(xiàng)目,包括配置快速激活的預(yù)安裝數(shù)據(jù)庫(kù)和資源。有評(píng)論說(shuō),TravisCI 非常適合想要快速開(kāi)始構(gòu)建的小項(xiàng)目。然而,在意構(gòu)建的依賴關(guān)系、性能和可靠性的大項(xiàng)目,可能會(huì)遇到一些問(wèn)題。
7、Semaphore

項(xiàng)目地址:https://semaphoreci.com/product
Semaphore 是 Jenkins 替代方案之一,它覆蓋整個(gè) CI/CD 過(guò)程,支持 GitHub、Kubernetes、iOS、Docker,并預(yù)裝了 100 多個(gè)工具。它可以自動(dòng)化任何持續(xù)交付流水線,并提供自定義步驟、并行執(zhí)行、依賴管理等。有人表示,Semaphore 構(gòu)建非??焖?,而且操作簡(jiǎn)單。然而,有用戶表示,界面有時(shí)會(huì)令人困惑,而且部署流水線的方法有限。另外關(guān)注:碼猿技術(shù)專欄,在后臺(tái)回復(fù):“面試寶典”可以獲取,高清PDF最新版3625頁(yè)互聯(lián)網(wǎng)大廠面試題。
8、Buddy

項(xiàng)目地址:https://buddy.works/
Buddy 是 CI/CD 平臺(tái),它通過(guò)簡(jiǎn)單的 UI/UX 來(lái)減少配置和維護(hù) Jenkins 的工作量,這使得創(chuàng)建、評(píng)估和部署應(yīng)用程序變得非常簡(jiǎn)單。
您可以在 15 分鐘內(nèi)通過(guò)具有即時(shí) YAML 導(dǎo)出功能的圖形化界面完成配置。它可以在云端和本地使用,并提供完整的 Docker 和 Kubernetes 支持。有用戶反饋,Buddy 很容易操作,但是價(jià)格太貴。
9、Drone.io

項(xiàng)目地址:https://drone.io/
Drone.io 是自助 CD 平臺(tái),它使用簡(jiǎn)單的 YAML 配置文件和 Dockercompose 的超集在 Docker 容器中創(chuàng)建和執(zhí)行流水線。運(yùn)行時(shí)會(huì)自動(dòng)下載獨(dú)立的 Docker,它執(zhí)行容器中的每個(gè)流水線步驟。Drone.io 有 Docker 鏡像,可以從 Dockerhub 下載。用戶反饋,Drone.io 是 Jenkins 替代品之一,易于操作,是很好的企業(yè)解決方案,但是缺少一些特性,需要進(jìn)一步定制。
10、GoCD

項(xiàng)目地址:https://www.gocd.org/
GoCD 是 ThoughtWorks 的持續(xù)集成開(kāi)源服務(wù)。您可以使用它來(lái)簡(jiǎn)化動(dòng)態(tài)工作流的模擬和可視化。它提供持續(xù)交付和優(yōu)雅的設(shè)計(jì)來(lái)構(gòu)建 CD 流水線,支持并行和順序執(zhí)行,可以隨時(shí)部署任何版本,有活躍的支持社區(qū)。用戶反饋,GoCD 與跨服務(wù)器擴(kuò)展不兼容,但優(yōu)點(diǎn)是可以自定義流程。
11、TeamCity

項(xiàng)目地址:https://www.jetbrains.com/teamcity/
TeamCity 是 JetBrains 的 CI/CD 工具。它允許用戶在代碼提交之前構(gòu)建、監(jiān)視和執(zhí)行自動(dòng)化測(cè)試,從而維護(hù)干凈的代碼庫(kù)。它提供了全面的 VCS 集成,使 CI 服務(wù)器始終保持正常運(yùn)行,即使沒(méi)有任何構(gòu)建。它可以與 Amazon EC2、Microsoft Azure 和 VMware vSphere 集成。用戶反饋,TeamCity 是現(xiàn)代化的、健壯的和開(kāi)放的解決方案,為流水線提供開(kāi)發(fā)人員友好的環(huán)境,但是需要仔細(xì)對(duì)待服務(wù)配置。
12、Buildkite

項(xiàng)目地址:https://buildkite.com/
Buildkite 是開(kāi)源平臺(tái),可以在上面運(yùn)行 CI 流水線。它提供了源碼控制、聊天支持,并且不需要訪問(wèn)源碼。你可以將基礎(chǔ)設(shè)施作為代碼系統(tǒng)來(lái)進(jìn)行調(diào)度,從而使你可以通過(guò)他們的網(wǎng)頁(yè)平臺(tái)監(jiān)視和控制所有流水線。然而,該平臺(tái)缺少一些 DevOps 流程,比如源碼管理和安全測(cè)試。
13、Zuul

項(xiàng)目地址:https://zuul-ci.org/
Zuul 是開(kāi)源 CI 工具,主要解決 Jenkins 在 CI 測(cè)試中的問(wèn)題,提供以最快的速度測(cè)試序列化的未來(lái)狀態(tài)的能力。主要差異是,它可以測(cè)試多個(gè)倉(cāng)庫(kù)的代碼,以確保如果某個(gè)變更破壞當(dāng)前項(xiàng)目或其他項(xiàng)目,則不讓該變更傳遞到生產(chǎn)環(huán)境中,稱為 co-gating。
多年來(lái),Zuul 已經(jīng)成為自動(dòng)合并、構(gòu)建和測(cè)試項(xiàng)目變更的工具。對(duì)于企業(yè)用戶來(lái)說(shuō),它是構(gòu)建大量必須彼此同步工作的項(xiàng)目的理想選擇。
14、結(jié)論
很多開(kāi)發(fā)團(tuán)隊(duì)仍在使用 Jenkins,然而它不再是唯一的 CI 工具。不斷改進(jìn)工作方式,會(huì)有多種方法讓你更輕松、更快、更一致地完成工作。固守傳統(tǒng)或忽視創(chuàng)新,將失去競(jìng)爭(zhēng)優(yōu)勢(shì)。
作者 | Marija Naumovska
策劃 | 田曉旭
原文 | dzone.com/articles/13-jenkins-alternatives-for-continuous-integration
推薦閱讀: 一款開(kāi)源的Java完整停車場(chǎng)系統(tǒng)項(xiàng)目(附源碼) MySQL與Redis緩存的同步方案 基于Spring+SpringMVC+Mybatis分布式敏捷開(kāi)發(fā)系統(tǒng) 不要再滿屏寫(xiě) try...catch 了!這個(gè)更香! 最近面試BAT,整理一份面試資料《Java面試BAT通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)等等。 獲取方式:關(guān)注公眾號(hào)并回復(fù) java 領(lǐng)取,更多內(nèi)容陸續(xù)奉上。 明天見(jiàn)(??ω??)??
