Github 歡迎所有的持續集成工具

簡評:GitHub 集成了好些個 CI 和 CD 工具,其中一些可以在 GitHub Marketplace 中很方便地安裝,你可以選擇最好的工具(即使它不是系統預集成)來和自己的應用一起工作。

持續集成(Continuous Integration,簡稱 CI)工具通過每次 push 新提交(commit)時運行測試用例,來確保團隊的代碼質量。 結合連續交付(Continuous Delivery,簡稱 CD)工具,還可以在多種不同的配置上測試代碼,運行額外的性能測試,並自動化每個步驟直到部署到生產環境。

最適合工具取決於許多因素:

  • 編程語言和應用程序的體系結構
  • 計劃支持的操作系統和瀏覽器
  • 團隊的經驗和技能
  • 擴展功能和增長計劃
  • 依賴系統的地理分布以及用戶
  • 打包和交付目標

當然,無法為所有的這些情況去優化 CI 工具,構建他們的人必須選擇哪個用例最好服務,何時優先考慮複雜性而非簡單性。例如,如果想要測試用特定編程語言編寫的針對一個平台的小型應用程序,那麼就不需要使用各種編程語言和框架在幾十種平台上測試嵌入式軟體控制器的工具的複雜性。

如果你需要一些啟發來確定要使用哪種 CI 工具,可以看看熱門的 GitHub 項目。許多人會在他們的 README.md 中將他們的 CI/CD 工具的狀態用徽章顯示。我們還分析了 GitHub 社區中超過 5000 萬倉庫庫中 CI 工具的使用情況,下圖根據在 PR 中最常用的 commit status contexts,展示 GitHub 中使用量的前 10 的 CI 工具的相對百分比。

我們的分析還顯示,許多團隊在他們的項目中使用了不止一個的 CI 工具,使他們能夠集合每個工具最擅長的部分。

  • Travis CI
  • Circle CI
  • Jenkins
  • AppVeyor
  • CodeShip
  • Drone
  • Semaphore CI
  • Buildkite
  • Wercker
  • TeamCity

如果不想花時間去研究和選擇最適合的那個,那麼只需選擇默認的預集成工具,對於特定的用例也是有很多出色的選擇。

原文:GitHub welcomes all CI tools

擴展閱讀:

  • 一些非常有用的 VSCode 擴展
  • 如何寫好 README
  • 使用 Sourcegraph 更好地搜索和瀏覽 GitHub上的代碼

歡迎關注

  • 知乎專欄「極光日報」,每天為 Makers 導讀三篇優質英文文章。
  • 網易雲電台「極光日報」,上下班路上為你讀報。
  • 微信公眾號「極光開發者」,每周兩篇技術類乾貨。

推薦閱讀:

開啟 Github Pages 自定義域名 HTTPS 和 HTTP/2 支持?
GitHub 進行化學實驗進程式控制制?
從 0 開始學習 GitHub 系列之【Git 進階】

TAG:GitHub | 持续集成CI |