Fedora 社區的持續集成
持續集成 (CI) 是為項目的每一項變更運行測試的過程,如同這是新的交付項目一樣。如果持續執行,這意味著軟體隨時可以發布。 CI 是整個 IT 行業以及自由開源項目非常成熟的流程。Fedora 在這方面有點落後,但我們正在趕上。閱讀以下內容了解進展。
我們為什麼需要這個?
CI 將全面改善 Fedora。它通過儘早揭示 bug 提供更穩定和一致的操作系統。它讓你在遇到問題時添加測試,以免再次發生(避免回歸)。CI 可以運行來自上游的項目測試,還有測試集成在發行版中 Fedora 特定的測試。
最重要的是,一致的 CI 能自動化並減少手工勞動。它釋放了我們寶貴的志願者和貢獻者,讓他們將更多時間花在 Fedora 的新事物上。
它看起來如何?
對於初學者,我們將對在 Fedora 包倉庫 (dist-git) 的每個提交運行測試。這些測試獨立於構建時運行的每個軟體包的測試。但是,它們在儘可能接近 Fedora 用戶運行環境的環境中測試軟體包的功能。除了特定的軟體包測試外,Fedora 還運行一些發行版測試,例如從 F27 升級到 F28 或者全新安裝。
軟體包根據測試結果進行「控制」:測試失敗會阻止將更新推送給用戶。但是,有時由於各種原因,測試會失敗。也許測試本身是錯誤的,或者不是最新的軟體。或者可能發生基礎架構問題,並阻止測試正常運行。維護人員能夠重新觸發測試或放棄測試結果,直到測試更新。
最終,當在 https://src.fedoraproject.org 上有合併請求或者更新時,Fedora 的 CI 將運行測試。這將使維護者了解建議的更改對包穩定性的影響,並幫助他們決定如何進行。
我們如今有什麼?
目前,CI 管道在 Fedora Atomic Host 的部分軟體包上運行測試。其他軟體包可以在 dist-git 中進行測試,但它們不會自動運行。發行版特定的測試已經在我們所有的軟體包上運行。這些測試結果被用於過濾測試失敗的軟體包。
我該如何參與?
最好的入門方法是閱讀關於 Fedora 持續集成的文檔。你應該熟悉標準測試介面,它描述了很多術語以及如何編寫測試和使用現有的測試。
有了這些知識,如果你是一個軟體包維護者,你可以開始添加測試到你的軟體包。你可以在本地或虛擬機上運行它們。 (對於破壞性測試來說後者是明智的!)
標準測試介面使測試保持一致。因此,你可以輕鬆地將任何測試添加到你喜歡的包中,並在 [倉庫]3 提交合併請求給維護人員。
在 irc.freenode.net 上與 #fedora-ci 聯繫,提供反饋,問題或關於 CI 的一般性討論。
via: https://fedoramagazine.org/continuous-integration-fedora/
作者:Pierre-Yves Chibon 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive