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