持续集成——Linux内核项目30年不崩不乱的秘密
原创- 发表时间 2020-09-27
- 阅读数 6634
- 最后编辑:程一凡 于 2024-06-13 09:43:47
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内核项目有条不紊的“健康成长”。同时,我们也希望本节视频能在项目维护流程上给大家一些启发和帮助。