作者 | Jonico
譯者 | geekpi
持續整合(CI[1])工具可以幫助你在每次提交時執行測試,並將報告結果[2]提交到合併請求,從而幫助維持團隊的質量標準。結合持續交付(CD[3])工具,你還可以在多種配置上測試你的程式碼,執行額外的效能測試,並自動執行每個步驟,直到進入產品階段[4]。
有幾個與 GitHub 整合[5]的 CI 和 CD 工具,其中一些可以在 GitHub Marketplace[6] 中點選幾下安裝。有了這麼多的選擇,你可以選擇最好的工具 —— 即使它不是與你的系統預整合的工具。
最適合你的工具取決於許多因素,其中包括:
當然,無法為所有這些情況最佳化你的 CI 工具。構建它們的人需要選擇哪些情況下服務更好,何時優先考慮複雜性而不是簡單性。例如,如果你想測試針對一個平臺的用特定語言編寫的小程式,那麼你就不需要那些可在數十個平臺上測試,有許多程式語言和框架的,用來測試嵌入軟體控制器的複雜工具。
如果你需要一些靈感來挑選最好使用哪個 CI 工具,那麼看一下 Github 上的流行專案。許多人在他們的 README.md 中將他們的整合的 CI/CD 工具的狀態顯示為徽章。我們還分析了 GitHub 社群中超過 5000 萬個倉庫中 CI 工具的使用情況,併發現了很多變化。下圖顯示了根據我們的拉取請求中使用最多的提交狀態背景關係[8],GitHub.com 使用的前 10 個 CI 工具的相對百分比。
我們的分析還顯示,許多團隊在他們的專案中使用多個 CI 工具,使他們能夠發揮它們最擅長的。
Top 10 CI systems used with GitHub.com based on most used commit status contexts
如果你想檢視,下麵是團隊中使用最多的 10 個工具:
這隻是嘗試選擇預設的、預先整合的工具,而沒有花時間根據任務研究和選擇最好的工具,但是對於你的特定情況會有很多很好的選擇[5]。如果你以後改變主意,沒問題。當你為特定情況選擇最佳工具時,你可以保證量身定製的效能和不再適合時互換的自由。
準備好瞭解 CI 工具如何適應你的工作流程了麼?
via: https://github.com/blog/2463-github-welcomes-all-ci-tools
作者:jonico 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出