持續集成——Linux內核項目30年不崩不亂的秘密
原創-
發表時間 2020-09-27
-
閱讀數 7872
-
最后编辑:琦琦 于 2025-05-23 15:56:55
2020年8月,Linux 发布了内核 5.8 RC 版本,该版本大约有100名新贡献者,具有超过14000个 commit,约80万行新代码。并且,距离上一个 5.7 正式版发布,才仅仅过去了约2个月的时间。
然而真正让大家感到震惊的是,如此庞大的 Linux 内核项目30年来能够一直有条不紊地运转。这归结于在Linux 内核项目中,开发人员始终都严格遵守着一系列基本原则。
1.每次commit只能做一件事
项目维护人员的每个commit都必须只能做一件事,不一定要求很小,但它须是针对某一单一任务的更改。从而可以幫助项目维护者更轻松地识别和隔离任何有问题的更改,而不影响其他的功能。2.commit 不能破坏构建
每個commit都必須作爲一個獨立的更改來工作,確保每一步完全起作用,且不引起退化。例如,對函數原型更改時,必須更新調用它的每個文件,以防止構建中斷。3.所有代碼都是二等分的
二等分是一种操作,类似于二分法查找算法,它使开发者可以快速地找到所有发生 错误的确切时间点。并且,该原则是基于前面提到的两个原则才能实现的。4.永远不要 rebase 公共分支
Linux 项目工作流程不允许 rebase 他人使用的任何公共分支。如果 rebase 这些公共分支,已重新基准化的 commit ,将不再与基于原存储库中的相同 commit 匹配。5.Git 正确合并
对于合并分支,Git相比其他版本管理系统,能更加高效地解决代码冲突等问题 ,避免大量的手动工作。6.保留定义明确的 commit 日志
编写良好的代码更改日志,有助于代码revi ew流 程,也可以幫助之后的维护人员确定是否可以删除该代码,或如何对其进行修改。7.持續測試和集成
在向上游发送 commit 请求之前,开发者会测试每个 commit 。持續測試和集成,有助于盡快地發現集成錯誤。這個過程可以大大減少集成的問題,同時還能保持項目的高質量。
正是因为在开发流程中,所有项目维护人员严格遵守并执行这些基本原则,才使得Linux内核项目有条不紊的“健康成长”。同时,我们也希望本节視頻能在项目维护流程上给大家一些启发和幫助。
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:張淑鈞 電話:13156280939 微信:13156280939 Q Q:2082428410北京、上海、深圳分部
友情鏈接:
ZTF自動化測試框架
ZenData測試數據生成器
喧喧IM
敏捷開發
敏捷咨詢
測試窩
悅庫網盤
Ledge知識平台
渠成軟件
ZDOO全協同企業管理軟件
融管理社區
ZenDAS數據分析工具
ZenShot跨平台截圖工具
飛信釘即時通訊解決方案
項目管理
IPD學習網
PMP百科網
艾體驗
創無記2049