送你 21 個(gè)好用的持續(xù)集成工具
市場上持續(xù)集成工具眾多,找到一個(gè)合適的工具并非易事,下面介紹了 21 個(gè)比較受歡迎的 CI 工具,并附上了下載鏈接。
1. Buddy
對(duì) Web 開發(fā)者來說,Buddy 是一個(gè)智能的 CI/CD 工具,降低了 DevOps 的入門門檻。Buddy 使用 DeliveryPipeline 進(jìn)去軟件構(gòu)建、測試及發(fā)布,創(chuàng)建 Pipeline 時(shí),100 多個(gè)就緒的操作可隨時(shí)投入使用,就像砌磚房一樣。
特點(diǎn):
- 清晰的配置,友好的交互,15分鐘快速配置
- 基于變更集(changeset)的快速部署
- 構(gòu)建運(yùn)行在使用緩存依賴的獨(dú)立容器中
- 支持所有流行的語言、框架和任務(wù)管理器
- Docker / Kubernetes 專用操作手冊(cè)
- 與 AWS,Google,DigitalOcean,Azure,Shopify,WordPress 等集成
- 支持并行和 YAML 配置
下載鏈接:https://buddy.works
2. Jenkins
Jenkins 是一個(gè)開源的持續(xù)集成工具,使用 Java 編程語言編寫的。它有助于實(shí)時(shí)檢測和報(bào)告較大代碼庫中的單一更改。該軟件可幫助開發(fā)人員快速查找和解決代碼庫中的問題并自動(dòng)測試其構(gòu)建。
特點(diǎn):
- 支持海量節(jié)點(diǎn)擴(kuò)展并在節(jié)點(diǎn)中同等分發(fā)工作負(fù)載
- 在各版本Linux、Mac OS 或 Windows 等全平臺(tái)輕松更新
- 提供了 WAR 格式的簡易安裝包,執(zhí)行導(dǎo)入 JEE 容器中即可運(yùn)行安裝
- 可以通過 Web 界面輕松設(shè)置和配置 Jenkins
- 可輕松跨機(jī)器分發(fā)
下載鏈接:https://jenkins.io/download/
3. TeamCity
TeamCity 是一款擁有很多強(qiáng)大功能的持續(xù)集成服務(wù)器。
特點(diǎn):
- 可擴(kuò)展性和自定義
- 為項(xiàng)目提供更好的代碼質(zhì)量
- 即使沒有運(yùn)行構(gòu)建,也能保持 CI 服務(wù)器健康穩(wěn)定
- 可在 DSL 中配置構(gòu)建
- 項(xiàng)目級(jí)云配置文件
- 全面的 VCS 集成
- 即時(shí)構(gòu)建進(jìn)度報(bào)告
- 遠(yuǎn)程運(yùn)行和預(yù)先測試的提交
下載鏈接:https://www.jetbrains.com/teamcity/download/#section=windows
4. Travis CI
Travis 是一款流行的 CI 工具,可免費(fèi)用于開源項(xiàng)目。在托管時(shí),不必依賴任何平臺(tái)。此 CI 工具為許多構(gòu)建配置和語言提供支持,如 Node,PHP,Python,Java,Perl 等。
特點(diǎn):
- Travis 使用虛擬機(jī)構(gòu)建應(yīng)用程序
- 可通過 Slack,HipChat,電子郵件等通知
- 允許運(yùn)行并行測試
- 支持 Linux、Mac 以及 iOS
- 易于配置,無需安裝
- 強(qiáng)大的 API 和命令行工具
下載鏈接:https://github.com/travis-ci/travis-ci
5. GoCD
GoCD 是一個(gè)開源的持續(xù)集成服務(wù)器。它可輕松模擬和可視化復(fù)雜的工作流程。此 CI 工具允許持續(xù)交付,并為構(gòu)建 CD Pipeline 提供直觀的界面。
特點(diǎn):
- 支持并行和順序執(zhí)行,可以輕松配置依賴
- 隨時(shí)部署任何版本
- 使用 Value Stream Map 實(shí)時(shí)可視化端到端工作流程
- 安全地部署到生產(chǎn)環(huán)境
- 支持用戶身份驗(yàn)證和授權(quán)
- 保持配置有序
- 有大量的插件增強(qiáng)功能
- 活躍的社區(qū)幫助和支持
下載鏈接:https://www.gocd.org/download/
6. Bamboo
Bamboo 是一個(gè)持續(xù)集成的構(gòu)建服務(wù)器,可以自動(dòng)構(gòu)建、測試和發(fā)布,并可與 JIRA 和 Bitbucket 無縫協(xié)作。Bamboo 支持多語言和平臺(tái),如 CodeDeply、Ducker、Git,SVN、Mercurial、AWS 及 Amazon S3 bucket。
特點(diǎn):
- 可并行運(yùn)行批量測試
- 配置簡單
- 分環(huán)境權(quán)限功能允許開發(fā)人員和 QA 部署到他們的環(huán)境
- 可以根據(jù) repository 中檢測到的更改觸發(fā)構(gòu)建,并從 Bitbucket 推送通知
- 可托管或內(nèi)部部署
- 促進(jìn)實(shí)時(shí)協(xié)作并與 HipChat 集成
- 內(nèi)置 Git 分支和工作流程,并自動(dòng)合并分支
下載鏈接:https://www.atlassian.com/software/bamboo
7. Gitlab CI
GitLab CI 是 GitLab 的一部分。它是一個(gè)提供 API 的 Web 應(yīng)用程序,可將其狀態(tài)存儲(chǔ)在數(shù)據(jù)庫中。GitLab CI 可以管理項(xiàng)目并提供友好的用戶界面,并充分利用 GitLab 所有功能。
特點(diǎn):
- GitLab Container Registry 是安全的 Docker 鏡像注冊(cè)表
- GitLab 提供了一種方便的方法來更改 issue 或 merge request 的元數(shù)據(jù),而無需在注釋字段中添加斜杠命令
- 為大多數(shù)功能提供 API,允許開發(fā)人員進(jìn)行更深入的集成
- 通過發(fā)現(xiàn)開發(fā)過程中的改進(jìn)領(lǐng)域,幫助開發(fā)人員將他們的想法投入生產(chǎn)
- 可以通過機(jī)密問題保護(hù)您的信息安全
- GitLab 中的內(nèi)部項(xiàng)目允許促進(jìn)內(nèi)部存儲(chǔ)庫的內(nèi)部 sourcing
下載鏈接:https://about.gitlab.com/installation/
8. CircleCI
Circle CI 是一個(gè)靈活的 CI 工具,可在任何環(huán)境中運(yùn)行,如跨平臺(tái)移動(dòng)應(yīng)用程序、Python API 服務(wù)器或 Docker 集群,該工具可減少錯(cuò)誤并提高應(yīng)用程序的質(zhì)量。
特點(diǎn):
- 允許選擇構(gòu)建環(huán)境
- 支持多語言及平臺(tái),如Linux,包括C ++,Javascript,NET,PHP,Python 和 Ruby
- 支持 Docker,可以配置自定義環(huán)境
- 觸發(fā)較新的構(gòu)建時(shí),自動(dòng)取消排隊(duì)或正在運(yùn)行的構(gòu)建
- 跨多容器分割和平衡測試,以減少總體構(gòu)建時(shí)間
- 禁止非管理員修改關(guān)鍵項(xiàng)目配置
- 通過發(fā)送無錯(cuò)誤的應(yīng)用程序提高 Android 和 iOS 商店評(píng)級(jí)
- 緩存和并行性能,實(shí)現(xiàn)高性能
- 與 VCS 工具集成
下載鏈接:https://circleci.com/
9. Codeship
Codeship 是一個(gè)功能強(qiáng)大的 CI 工具,可自動(dòng)化開發(fā)和部署工作流程。Codeship 通過簡化到 repository 的 push 來觸發(fā)自動(dòng)化工作流程。
特點(diǎn):
- 可完全控制 CI 和 CD 系統(tǒng)的設(shè)計(jì)。
- 集中的團(tuán)隊(duì)管理和儀表板
- 輕松訪問調(diào)試版本和 SSH,有助于從 CI 環(huán)境進(jìn)行調(diào)試
- 可完全定制和優(yōu)化 CI 和 CD 工作流程
- 允許加密外部緩存的 Docker 鏡像
- 允許為您的組織和團(tuán)隊(duì)成員設(shè)置團(tuán)隊(duì)和權(quán)限
- 有兩個(gè)版本1)Basic 和 2)Pro
下載鏈接:https://codeship.com/
10. Buildbot
Buildbot 是一個(gè)軟件開發(fā) CI,可以自動(dòng)完成編譯/測試周期。它被廣泛用于許多軟件項(xiàng)目,用以驗(yàn)證代碼更改。它提供跨平臺(tái) Job 的分布式并行執(zhí)行。
特點(diǎn):
- 為不同體系結(jié)構(gòu)的多個(gè)測試主機(jī)提供支持。
- 報(bào)告主機(jī)的內(nèi)核崩潰
- 維護(hù)單源 repository
- 自動(dòng)化構(gòu)建
- 每個(gè)提交都在集成機(jī)器上的主線上構(gòu)建
- 自動(dòng)部署
- 開源
下載鏈接:https://buildbot.net/
11. Nevercode
Nevercode 是一個(gè)基于云端的 CI 傳送服務(wù)器,可以構(gòu)建、測試和分發(fā)應(yīng)用程序而無需人工交互。此 CI 工具自動(dòng)為每個(gè)提交構(gòu)建項(xiàng)目,并在模擬器或真實(shí)硬件上運(yùn)行所有單元測試 或 UI 測試。
特點(diǎn):
- 基于云服務(wù),因此無需維護(hù)服務(wù)器
- 易于學(xué)習(xí)和使用
- 良好的文檔,易于閱讀和理解
- 通過持續(xù)集成和交付自動(dòng)化整個(gè)開發(fā)過程
- 與眾多工具集成
下載鏈接:https://nevercode.io/
12. Integrity
Integrity 是一個(gè)持續(xù)集成服務(wù)器,僅適用于 GitHub。在此 CI 工具中,只要用戶提交代碼,它就構(gòu)建并運(yùn)行代碼。它還會(huì)生成報(bào)告并向用戶提供通知。
特點(diǎn):
- 目前僅適用于 Git,但它可以輕松地映射其他 SCM
- 支持多通知機(jī)制,如 AMQP,電子郵件,HTTP,Amazon SES,F(xiàn)lowdock,Shell 和 TCP
- HTTP 通告功能將以 HTTP POST 請(qǐng)求發(fā)送到特定URL
下載鏈接:http://integrity.github.io/
13. Strider
Strider 是一個(gè)開源工具,用 Node.JS / JavaScript 編寫。它使用 MongoDB 作為后端存儲(chǔ)。因此,MongoDB 和 Node.js 對(duì)于安裝此 CI 至關(guān)重要。該工具為不同的插件提供支持,這些插件可修改數(shù)據(jù)庫 schema 并注冊(cè)HTTP路由。
特點(diǎn):
- Strider 可與 GitHub,BitBucket,Gitlab 等集成。
- 允許添加鉤子來執(zhí)行構(gòu)建操作
- 持續(xù)構(gòu)建和測試軟件項(xiàng)目
- 與 GitHub 無縫集成
- 發(fā)布和訂閱 socket 事件
- 支持創(chuàng)建和修改 Striders 用戶界面
- 強(qiáng)大的插件,定制默認(rèn)功能
- 支持 Docker
下載鏈接:https://github.com/Strider-CD/strider
14. AutoRABIT
AutoRABIT 是一個(gè)端到端的持續(xù)交付套件,可以加快開發(fā)過程。它簡化了完整的發(fā)布流程,并可以幫助任何規(guī)模的組織實(shí)現(xiàn)持續(xù)集成。
特點(diǎn):
- 專門設(shè)計(jì)用于在 Salesforce Platform 上部署
- 支持基于 120 多種元數(shù)據(jù)類型的更改,實(shí)現(xiàn)精簡和快速部署
- 從版本控制系統(tǒng)獲取更改并自動(dòng)部署到 Sandbox 中
- 直接從 Sandbox 自動(dòng)向版本控制系統(tǒng)提交更改
下載鏈接:http://www.autorabit.com/tag/autorabit-download/
15. FinalBuilder
FinalBuilder 是 VSoft 的構(gòu)建工具。使用 FinalBuilder,無需編輯 XML 或編寫腳本。在使用 Windows 調(diào)度程序調(diào)度構(gòu)建腳本時(shí),可以定義和調(diào)試構(gòu)建腳本,或者與 Jenkins,Continua CI 等集成。
特點(diǎn):
- 以邏輯結(jié)構(gòu)化的圖形界面呈現(xiàn)構(gòu)建過程
- 使用 try 和 catch 操作處理本地錯(cuò)誤
- 與 Windows 調(diào)度服務(wù)緊密集成,支持定時(shí)構(gòu)建
- 支持十幾個(gè)版本控制系統(tǒng)
- 提供腳本支持
- 構(gòu)建過程中所有操作的輸出都將定向到構(gòu)建日志
下載鏈接:https://www.finalbuilder.com/downloads/finalbuilde
16. Wercker
Wercker 是一個(gè) CI 工具,可自動(dòng)構(gòu)建和部署容器。它可以創(chuàng)建可以通過命令行界面執(zhí)行的自動(dòng)化管道。
特點(diǎn):
- 與 GitHub 和 Bitbucket 完全集成
- 使用 Wercker CLI 進(jìn)行更快的本地迭代
- 同時(shí)執(zhí)行構(gòu)建以保持團(tuán)隊(duì)的機(jī)動(dòng)
- 運(yùn)行并行測試以減少團(tuán)隊(duì)的等待時(shí)間
- 集成了 100 多種外部工具
- 通過產(chǎn)品和電子郵件接收系統(tǒng)通知
下載鏈接:http://www.wercker.com/
17. Buildkite
Buildkite 代理是一個(gè)可靠的跨平臺(tái)構(gòu)建工具。此 CI 工具可以在礎(chǔ)架構(gòu)上輕松地運(yùn)行自動(dòng)構(gòu)建。它主要用于運(yùn)行構(gòu)建 Job,報(bào)告 Job 的狀態(tài)代碼并輸出日志。
特點(diǎn):
- 可在各種操作系統(tǒng)和體系結(jié)構(gòu)上運(yùn)行
- 可以從任何版本控制系統(tǒng)運(yùn)行代碼
- 允許在計(jì)算機(jī)上運(yùn)行任意數(shù)量的構(gòu)建代理
- 可與 Slack,HipChat,F(xiàn)lowdock,Campfire 等工具集成
- 永遠(yuǎn)不會(huì)讀取源代碼或密鑰
- 提供穩(wěn)定的基礎(chǔ)設(shè)施
下載鏈接:https://buildkite.com/
18. Semaphore
Semaphore 是一個(gè)持續(xù)集成工具,只需按一下按鈕即可測試和部署代碼。它支持多種語言、框架并可與 GitHub 集成,還可以執(zhí)行自動(dòng)測試和部署。
特點(diǎn):
- 配置簡單
- 允許自動(dòng)并行測試
- 市場上最快的 CI 之一
- 可以輕松覆蓋不同大小的項(xiàng)目數(shù)量
- 與 GitHub 和 Bitbucket 無縫集成
下載鏈接:https://semaphoreci.com
19. CruiseControl
CruiseControl 既是 CI 工具又是一個(gè)可擴(kuò)展的框架。它用于構(gòu)建自定義連續(xù)的構(gòu)建。它有許多用于各種源代碼控制的插件,包括針對(duì)電子郵件和即時(shí)消息的構(gòu)建技術(shù)。
特點(diǎn):
- 與許多不同的源代碼控制系統(tǒng)集成,如 vss,csv,svn,git,hg,perforce,clearcase,filesystem 等
- 允許在單個(gè)服務(wù)器上構(gòu)建多個(gè)項(xiàng)目
- 與其他外部工具集成,如 NAnt,NDepend,NUnit,MSBuild,MBUnit 和 Visual Studio
- 支持遠(yuǎn)程管理
下載鏈接:http://cruisecontrol.sourceforge.net/download.html
20. Bitrise
Bitrise 是一個(gè)持續(xù)集成和交付 PaaS,它可以為整個(gè)團(tuán)隊(duì)提供移動(dòng)持續(xù)集成和交付。它允許與 Slack,HipChat,HockeyApp,Crashlytics 等許多流行服務(wù)集成。
特點(diǎn):
- 允許在終端中創(chuàng)建和測試工作流程
- 無需手動(dòng)控制即可獲得應(yīng)用程序
- 每個(gè)構(gòu)建在其自己的虛擬機(jī)中單獨(dú)運(yùn)行,并且在構(gòu)建結(jié)束時(shí)丟棄所有數(shù)據(jù)
- 支持第三方 beta 測試和部署服務(wù)
- 支持 GitHub Pull Request
下載鏈接:https://github.com/bitrise-io/bitrise#install-and-setup
21. UrbanCode
IBM UrbanCode 是一個(gè) CI 應(yīng)用程序。它將強(qiáng)大的可見性,可追溯性和審計(jì)功能整合到一個(gè)軟件包中。
特點(diǎn):
- 通過自動(dòng)化,可重復(fù)的部署流程提高軟件交付頻率
- 減少部署失敗
- 簡化多渠道應(yīng)用程序的部署,無論是在本地還是在云中,都可以部署到所有環(huán)境
- 企業(yè)級(jí)安全性和可擴(kuò)展性
- 混合云環(huán)境建模
- 拖放自動(dòng)化
下載鏈接:https://www.ibm.com/ms-en/marketplace/application-release-automation
原文鏈接:https://www.guru99.com/top-20-continuous-integration-tools.html