作者 | Pierre-yves Chibon
譯者 | geekpi ? ? 共計翻譯:699 篇 貢獻時間:1638 天
持續整合(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 持續整合[2]的檔案。你應該熟悉標準測試介面[3],它描述了很多術語以及如何編寫測試和使用現有的測試。
有了這些知識,如果你是一個軟體包維護者,你可以開始新增測試到你的軟體包。你可以在本地或虛擬機器上執行它們。 (對於破壞性測試來說後者是明智的!)
標準測試介面使測試保持一致。因此,你可以輕鬆地將任何測試新增到你喜歡的包中,併在 [倉庫]3[1] 提交合併請求給維護人員。
在 irc.freenode.net 上與 #fedora-ci 聯絡,提供反饋,問題或關於 CI 的一般性討論。
via: https://fedoramagazine.org/continuous-integration-fedora/
作者:Pierre-Yves Chibon[5] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出