DevOps理念在短短十幾年時間已迅速蔓延全球,成為企業是否能在行業內脫穎而出的一項關鍵性因素。DevOps是一種文化,每個企業都有屬于自己的特色和業務需求,CI/CD則是實踐整個自動化流程的最好工具;CI(持續集成Continuous Integration)指的是研發人員提交代碼后,從編譯、測試、直到業務上線的一個過程,整個過程稱為集成;而高效的、持續性質的不斷迭代代碼的集成工作,就是持續集成;第一種CD(持續交付Continuous Delivery)指的是將CI的結果,由運維團隊持續的部署到生產環境中;另一種CD(持續部署Continuous Deploy)指的是所有的變更都自動部署到生產環境中,持續交付是一種能力,而持續部署是一種實現方式。
近幾年,隨著網信產業的蓬勃發展,國產處理器及整機對銀河麒麟操作系統內核的迭代效率,產品的交付質量與速度提出了更高的要求。為此,麒麟軟件將DevOps(Development & Operations)理念引入操作系統內核研發過程,旨在有效提升質量的同時提高交付效率,DevOps理念有助于打破部門壁壘,強化團隊協作,提高自動化率,向用戶快速交付高質量的產品。
DevOps和CI/CD關系圖
麒麟軟件研發人員通過調研CI/CD的工具鏈,以及針對內核自動化持續集成的研發,構建了麒麟軟件自有的K2CI平臺,它的主要業務流包括集成代碼審查、代碼靜態掃描、編譯、測試、反饋、發布等。自動化作為CI的基石,麒麟軟件K2CI平臺通過自動定時觸發檢測、自動代碼靜態掃描、自動kABI檢查、補丁實時集成及自動編譯、測試、報告、定位、創建任務、關閉任務等全自動功能更好的為研發人員提供了穩定的服務,全方位守護內核質量,實現了持續穩定的產出。
麒麟軟件K2CI平臺業務流程
在內核開發過程中,麒麟軟件K2CI平臺通過在不同的階段,采用不同的CI頻率,即可節省資源,也提升了CI效率,將代碼提交標準、測試標準、版本出庫標準統一,并提交由K2CI平臺進行自動化驗證,內核出庫質量明顯得到了提升,通過K2CI-RTB實時集成,K2CI-PT每日集成,K2CI-server每周集成,分階段對內核代碼質量進行保障,且在使用過程中,不斷穩定輸出成果。
麒麟軟件K2CI平臺集成環境
目前,在麒麟軟件K2CI平臺中,已涵蓋6家國產CPU架構平臺;其中20多個國產整機廠商的設備已納入K2CI平臺開展測試驗證,在內核開發階段采用K2CI-PT平臺進行daily測試、功能測試等,在發行版出庫前采用K2CI-server平臺進行功能性測試、穩定性測試、性能測試等;持續守護內核產品質量,為內核提供質量保障。另外,通過K2CI工具鏈周期性的問題反饋,能及時解決問題并同步內部代碼倉庫,極大提高了內核產品的健壯性,同時也強化了麒麟軟件對操作系統上游社區補丁修復的推進。
麒麟軟件K2CI平臺編譯和測試架構
未來,麒麟軟件將持續構建面向內核的微服務自動化測試平臺,滿足對最小單元補丁的影響域全方位自動化測試等,為研發人員提供創新的信息技術與服務,讓銀河麒麟操作系統更安全、更健壯,更節能,更高效。
通訊員?| 白鸝莎、杜式薇
來? ? 源 | 產品與生態中心、研發中心
審? ? 核 | 市場與政府事務部