2020年務必知道的最好用的14款CI

“Quality at Speed” 是軟件開發中的新規範。

企業正在朝著DevOps方法論和敏捷文化邁進,以加快交付速度並確保產品質量。 在DevOps中,連續和自動化的交付週期是使快速可靠的交付成為可能的基礎。

這導致我們需要適當的持續集成和持續交付(CI/CD)工具。 一個“好的”CI/CD工具可以利用團隊當前的工作流程,以最佳利用自動化功能並創建可靠的CI/CD管道,併為團隊發展提供所需的動力。

隨著市場上大量CI/CD工具的出現,團隊可能難以做出艱難的決定來挑選合適的工具。該列表包含“市場上最好的14種CI/CD工具”及其主要功能,使您和團隊在選擇過程中更加輕鬆。

2020年務必知道的最好用的14款CI/CD工具

目前最流行的五款 CI/CD 工具

以下羅列出了目前市場上最流行的14種最佳CI/CD工具。希望該列表為您在選擇CI/CD前提供了足夠的信息,更多詳細信息您也可以查看官網做更深入的瞭解。最終結合您的需求以及現有基礎架構以及未來潛力和改進的空間是將影響您最終選擇的因素,幫助您選擇到最適合您的規格的CI/CD軟件。

Jenkins

2020年務必知道的最好用的14款CI/CD工具

Jenkins是一個開源自動化服務器,在其中進行集中構建和持續集成。它是一個獨立的基於Java的程序,帶有Windows,macOS,Unix的操作系統的軟件包。通過數百種可用的插件,Jenkins支持軟件開發項目的構建,部署和自動化。

Jenkins主要功能:

  • 易於在各種操作系統上安裝和升級
  • 簡單易用的界面
  • 可通過社區提供的巨大插件資源進行擴展
  • 在用戶界面中輕鬆配置環境
  • 支持主從架構的分佈式構建
  • 根據表達式構建時間表
  • 在預構建步驟中支持Shell和Windows命令執行
  • 支持有關構建狀態的通知

許可:免費。Jenkins是一個擁有活躍社區的開源工具。

主頁:https://jenkins.io/

CircleCI

2020年務必知道的最好用的14款CI/CD工具

CircleCI是一種CI/CD工具,支持快速的軟件開發和發佈。 CircleCI允許從代碼構建,測試到部署的整個用戶管道自動化。

您可以將CircleCI與GitHub,GitHub Enterprise和Bitbucket集成,以在提交新代碼行時創建內部版本。CircleCI還可以通過雲託管選項託管持續集成,或在私有基礎架構的防火牆後面運行。

CircleCI主要功能:

  • 與Bitbucket,GitHub和GitHub Enterprise集成
  • 使用容器或虛擬機運行構建
  • 簡易調試
  • 自動並行化
  • 快速測試
  • 個性化的電子郵件和IM通知
  • 連續和特定於分支機構的部署
  • 高度可定製
  • 自動合併和自定義命令以上傳軟件包
  • 快速設置和無限構建

許可:Linux計劃從選擇不運行任何並行操作開始。開源項目獲得了另外三個免費容器。 在註冊期間,將看到價格以決定所需的計劃。

主頁: https://circleci.com/

TeamCity


2020年務必知道的最好用的14款CI/CD工具

TeamCity是JetBrains的構建管理和持續集成服務器。

TeamCity是一個持續集成工具,可幫助構建和部署不同類型的項目。 TeamCity在Java環境中運行,並與Visual Studio和IDE集成。該工具可以安裝在Windows和Linux服務器上,支持.NET和開放堆棧項目。

TeamCity 2019.1提供了新的UI和本機GitLab集成。它還支持GitLab和Bitbucket服務器拉取請求。該版本包括基於令牌的身份驗證,檢測,Go測試報告以及AWS Spot Fleet請求。

TeamCity主要功能:

  • 提供多種方式將父項目的設置和配置重用到子項目
  • 在不同環境下同時運行並行構建
  • 啟用運行歷史記錄構建,查看測試歷史記錄報告,固定,標記以及將構建添加到收藏夾
  • 易於定製,交互和擴展服務器
  • 保持CI服務器正常運行
  • 靈活的用戶管理,用戶角色分配,將用戶分組,不同的用戶身份驗證方式以及帶有所有用戶操作的日誌,以透明化服務器上所有活動

許可:TeamCity是具有免費和專有許可證的商業工具。

主頁:
https://www.jetbrains.com/teamcity/

Bamboo


2020年務必知道的最好用的14款CI/CD工具

Bamboo是一個持續集成服務器,可自動執行軟件應用程序版本的管理,從而創建了持續交付管道。Bamboo涵蓋了構建和功能測試,分配版本,標記發行版,在生產中部署和激活新版本。

Bamboo主要功能:

  • 支持多達100個遠程構建代理
  • 並行運行批次測試並快速獲得反饋
  • 創建圖像並推送到註冊表
  • 每個環境的權限,使開發人員和測試人員可以在生產保持鎖定狀態的情況下按需部署到他們的環境中
  • 在Git,Mercurial,SVN Repos中檢測新分支,並將主線的CI方案自動應用於它們
  • 觸發器基於在存儲庫中檢測到的更改構建。 推送來自Bitbucket的通知,已設置的時間表,另一個構建的完成或其任何組合。

許可:Bamboo定價層基於代理(Slave)而不是用戶。 代理越多,花費越多。

主頁:
https://www.atlassian.com/software/bamboo

GitLab


2020年務必知道的最好用的14款CI/CD工具

GitLab是一套用於管理軟件開發生命週期各個方面的工具。 核心產品是基於Web的Git存儲庫管理器,具有問題跟蹤,分析和Wiki等功能。

GitLab允許您在每次提交或推送時觸發構建,運行測試和部署代碼。您可以在虛擬機,Docker容器或另一臺服務器上構建作業。

GitLab主要功能:

  • 通過分支工具查看,創建和管理代碼以及項目數據
  • 通過單個分佈式版本控制系統設計,開發和管理代碼和項目數據,從而實現業務價值的快速迭代和交付
  • 提供真實性和可伸縮性的單一來源,以便在項目和代碼上進行協作
  • 通過自動化源代碼的構建,集成和驗證,幫助交付團隊完全接受CI。
  • 提供容器掃描,靜態應用程序安全測試(SAST),動態應用程序安全測試(DAST)和依賴項掃描,以提供安全的應用程序以及許可證合規性
  • 幫助自動化並縮短髮布和交付應用程序的時間

許可:GitLab是一個商業工具和免費軟件包。它提供了在GitLab或您的本地實例和/或公共雲上託管SaaS的功能。

主頁:https://about.gitlab.com/

Buddy


2020年務必知道的最好用的14款CI/CD工具

Buddy是一個CI/CD軟件,它使用GitHub,Bitbucket和GitLab的代碼構建,測試,部署網站和應用程序。它使用具有預安裝語言和框架的Docker容器以及DevOps來監視和通知操作,並以此為基礎進行構建。

Buddy主要功能:

  • 易於將基於Docker的映像自定義為測試環境
  • 智能變更檢測,最新的緩存,並行性和全面的優化
  • 創建,定製和重用構建和測試環境
  • 普通和加密,固定和可設置範圍:工作空間,項目,管道,操作
  • 與Elastic,MariaDB,Memcached,Mongo,PostgreSQL,RabbitMQ,Redis,Selenium Chrome和Firefox關聯的服務
  • 實時監控進度和日誌,無限歷史記錄
  • 使用模板進行工作流管理,以克隆,導出和導入管道
  • 一流的Git支持和集成

許可:Buddy是免費的商業工具。

主頁:https://buddy.works/

Travis CI


2020年務必知道的最好用的14款CI/CD工具

Travis CI是用於構建和測試項目的CI服務。Travis CI自動檢測新提交併推送到GitHub存儲庫的提交。每次提交新代碼後,Travis CI都會構建項目並相應地運行測試。

該工具支持許多構建配置和語言,例如Node,PHP,Python,Java,Perl等。

Travis主要功能:

  • 快速設置
  • GitHub項目監控的實時構建視圖
  • 拉取請求支持
  • 部署到多個雲服務
  • 預裝的數據庫服務
  • 通過構建時自動部署
  • 為每個版本清理虛擬機
  • 支持macOS,Linux和iOS
  • 支持多種語言,例如Android,C,C#,C ++,Java,JavaScript(帶有Node.js),Perl,PHP,Python,R,Ruby等。

許可:Travis CI是一項託管的CI/CD服務。私人項目可以在travis-ci.com上進行收費測試。可以在travis-ci.org上免費應用開源項目。

主頁:https://travis-ci.com

Codeship


2020年務必知道的最好用的14款CI/CD工具

Codeship是一個託管平臺,可多次支持早期和自動發佈軟件。通過優化測試和發佈流程,它可以幫助軟件公司更快地開發更好的產品。

Codeship主要功能:

  • 與所選的任何工具,服務和雲環境集成
  • 易於使用。提供快速而全面的開發人員支持。
  • 藉助CodeShip的交鑰匙環境和簡單的UI,使構建和部署工作更快
  • 選擇AWS實例大小,CPU和內存的選項
  • 通過通知中心為組織和團隊成員設置團隊和權限
  • 無縫的第三方集成,智能通知管理和項目儀表板,可提供有關項目及其運行狀況的高級概述。

許可:每月最多免費使用100個版本,無限版本從$49/月開始。您可以為更大的實例大小購買更多的併發構建或更多的並行管道。

主頁: https://codeship.com/

GoCD


2020年務必知道的最好用的14款CI/CD工具

GoCD來自ThoughtWorks,是一個開放源代碼工具,用於構建和發佈支持CI/CD上的現代基礎結構的軟件。

  • 輕鬆配置相關性以實現快速反饋和按需部署
  • 促進可信構件:每個管道實例都錨定到特定的變更集
  • 提供對端到端工作流程的控制,一目瞭然地跟蹤從提交到部署的更改
  • 容易看到上游和下游
  • 隨時部署任何版本
  • 允許將任何已知的良好版本的應用程序部署到您喜歡的任何位置
  • 通過“比較內部版本”功能獲得用於任何部署的簡單物料清單
  • 通過GoCD模板系統重用管道配置,使配置保持整潔
  • 已經有許多插件

許可:免費和開源

主頁:https://www.gocd.org/

Wercker


2020年務必知道的最好用的14款CI/CD工具

對於正在使用或正在考慮基於Docker啟動新項目的開發人員,Wercker可能是一個合適的選擇。 Wercker支持組織及其開發團隊使用CI/CD,微服務和Docker。

2017年4月17日,甲骨文宣佈已簽署最終協議收購Wercker。

Wercker主要功能:

  • Git集成,包括GitHub,Bitbucket,GitLab和版本控制
  • 使用Wercker CLI在本地複製SaaS環境,這有助於在部署之前調試和測試管道
  • 支持Wercker的Docker集成以構建最少的容器並使尺寸可管理
  • Walterbot – Wercker中的聊天機器人–允許您與通知交互以更新構建狀態
  • 環境變量有助於使敏感信息遠離存儲庫
  • Wercker利用關鍵安全功能(包括源代碼保護)來關閉測試日誌,受保護的環境變量以及用戶和項目的可自定義權限

許可:甲骨文在收購後未提供Wercker的價格信息。

主頁:https://app.wercker.com

Semaphore


2020年務必知道的最好用的14款CI/CD工具

Semaphore是一項託管的CI/CD服務,用於測試和部署軟件項目。 Semaphore通過基於拉取請求的開發過程來建立CI/CD標準。

Semaphore主要功能:

  • 與GitHub集成
  • 自動執行任何連續交付流程
  • 在最快的CI/CD平臺上運行
  • 自動縮放您的項目,以便您僅需支付使用費用
  • 本機Docker支持。測試和部署基於Docker的應用程序
  • 提供Booster –一種功能,用於通過自動並行化Ruby項目的構建來減少測試套件的運行時間

許可:靈活。使用傳統的CI服務,您會受到計劃容量的限制。同時,Semaphore 2.0將根據您團隊的實際需求進行擴展,因此您無需使用該工具就不必付費

主頁:https://semaphoreci.com/

Nevercode


2020年務必知道的最好用的14款CI/CD工具

Nevercode支持移動應用程序的CI/CD。它有助於更​​快地構建,測試和發佈本機和跨平臺應用程序。

Nevercode主要功能:

  • 自動配置和設置
  • 測試自動化:單元和UI測試,代碼分析,真實設備測試,測試並行化
  • 自動發佈:iTunes Connect,Google Play,Crashlytics,T​​estFairy,HockeyApp
  • 您的構建和測試狀態的詳細概述

許可:靈活。針對不同需求進行持續集成的不同計劃。您可以從標準計劃中選擇,也可以請求根據自己的需求量身定製的計劃。

主頁:https://nevercode.io/

Spinnaker


2020年務必知道的最好用的14款CI/CD工具

Spinnaker是一個多雲連續交付平臺,支持在不同的雲提供商之間發佈和部署軟件更改,包括AWS EC2,Kubernetes,Google Compute Engine,Google Kubernetes Engine,Google App Engine等。

Spinnaker主要功能:

  • 創建部署管道,以運行集成和系統測試,旋轉服務器組和降低服務器組以及監視部署。通過Git事件,Jenkins,Travis CI,Docker,cron或其他Spinnaker管道觸發管道
  • 創建和部署不可變映像,以實現更快的部署,更輕鬆的回滾以及消除難以調試的配置漂移問題
  • 使用它們的指標進行金絲雀分析,將您的發行版與諸如Datadog,Prometheus,Stackdriver或SignalFx的監視服務相關聯
  • 使用Halyard – Spinnaker的CLI管理工具安裝,配置和更新您的Spinnaker實例
  • 設置電子郵件,Slack,HipChat或SMS的事件通知(通過Twilio)

許可:開源

主頁:https://www.spinnaker.io/

Buildbot


2020年務必知道的最好用的14款CI/CD工具

Buildbot是一個“基於Python的CI框架”,可自動執行編譯和測試周期以驗證代碼更改,然後在每次更改後自動重建並測試樹。因此,可以快速查明構建問題。

Buildbot主要功能:

  • 自動化構建系統,應用程序部署以及複雜軟件發佈過程的管理
  • 支持跨多個平臺的分佈式並行執行,與版本控制系統的靈活集成,廣泛的狀態報告
  • 在各種從屬平臺上運行構建
  • 任意構建過程並使用C和Python處理項目
  • 最低主機要求:Python和Twisted
  • 注意:Buildbot將停止支持Python 2.7,並需要遷移到Python 3。

許可:開源

主頁:https://buildbot.net/


分享到:


相關文章: