市場上持續內建工具衆多,找到一個合适的工具并非易事,下面介紹了 21 個比較受歡迎的 CI 工具,并附上了下載下傳連結。
1. Buddy
對 Web 開發者來說,Buddy 是一個智能的 CI/CD 工具,降低了 DevOps 的入門門檻。Buddy 使用
Delivery Pipeline
進去軟體建構、測試及釋出,建立 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/team ... ndows
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/ ... setup
21. UrbanCode
IBM UrbanCode 是一個 CI 應用程式。它将強大的可見性,可追溯性和審計功能整合到一個軟體包中。
特點:
- 通過自動化,可重複的部署流程提高軟體傳遞頻率
- 減少部署失敗
- 簡化多管道應用程式的部署,無論是在本地還是在雲中,都可以部署到所有環境
- 企業級安全性和可擴充性
- 混合雲環境模組化
- 拖放自動化
下載下傳連結:https://www.ibm.com/ms-en/mark ... ation
原文連結:20 Best Continuous Integration(CI) Tools in 2019 (翻譯:李加慶)