2
0
mirror of https://github.com/LCTT/TranslateProject.git synced 2025-04-02 02:50:11 +08:00

Translating Continuous integration testing for the Linux kernel.md

This commit is contained in:
LazyWolf Lin 2019-07-30 21:45:00 +08:00
parent edd1d6bd79
commit d9dd579b14

View File

@ -28,37 +28,37 @@ Linux 内核的每个发布版本包含了来自 1,700 个开发者产生的 14,
许多现代软件代码库都采用某种自动化 CI 测试,能够在提交进入代码存储库之前对其进行测试。这种自动化测试运行维护人员通过查看 CI 测试报告来发现软件质量问题已经大多数错误。一些更方便的项目,比如某个 python 库,附带的大量工具使得整个检查过程更简单。
在任何测试之前都需要配置和编译 Linux。而这么做将耗费大量的时间和计算资源。此外Linux 内核必需在虚拟机或者裸机上启动才能进行测试。访问某些体系结构需要额外的开销或者非常慢的仿真。因此,必需有人确定一组能够触发错误或者验证修复的测试组。
在任何测试之前都需要配置和编译 Linux。而这么做将耗费大量的时间和计算资源。此外Linux 内核必需在虚拟机或者裸机上启动才能进行测试。访问某些硬件架构需要额外的开销或者非常慢的仿真。因此,必需有人确定一组能够触发错误或者验证修复的测试组。
#### CKI 团队如何运作?
Red Hat 的 CKI 团队当前正追踪来自数个内部内核分支和[稳定内核分支树][3]等上游内核分支的更改。我们关注每个代码库的两类关键事件:
Red Hat 公司的 CKI 团队当前正追踪来自数个内部内核分支和[稳定内核分支树][3]等上游内核分支的更改。我们关注每个代码库的两类关键事件:
1. 当维护人员合并 PR 或者补丁时,代码库变化后的最终结果。
2. 当开发人员通过拼凑的或者稳定的补丁队列发起合并时。
As these events occur, automation springs into action and [GitLab CI pipelines][4] begin the testing process. Once the pipeline runs [linting][5] scripts, merges any patches, and compiles the kernel for multiple architectures, the real testing begins. We compile kernels in under six minutes for four architectures and submit feedback to the stable mailing list usually in two hours or less. Over 100,000 kernel tests run each month and over 11,000 GitLab pipelines have completed (since January 2019).
当这些事件发生时,自动化工具开始执行,[GitLab CI 管道][4]开始进行测试。一旦管道开始执行 [linting][5] 脚本,合并每一个补丁,并为多种硬件架构编译内核,真正的测试便开始了。我们会在六分钟内完成四种硬件架构的内核编译工作,并且通常会在两个小时或更短的时间内将反馈提交到稳定邮件列表中。(自 2019 年 1 月起)每月执行超过 100,000 次内核测试,并有超过 11,000 个 GitLab 管道已经完成。
Each kernel is booted on its native architecture, which includes:
每个内核都会在本地硬件架构上启动,其中包含:
● [aarch64][6]: 64-bit [ARM][7], such as the [Cavium (now Marvell) ThunderX][8].
* [aarch64][6]64-bit [ARM][7], 例如 [Cavium当前是 MarvellThunderX][8]。
● [ppc64/ppc64le][9]: Big and little endian [IBM POWER][10] systems.
* [ppc64/ppc64le][9]:大端和小端的 [IBM POWER][10] 系统。
● [s390x][11]: [IBM Zseries][12] mainframes.
* [s390x][11][IBM Zseries][12] 大型机
● [x86_64][13]: [Intel][14] and [AMD][15] workstations, laptops, and servers.
* [x86_64][13][Intel][14] 和 [AMD][15] 工作站,笔记本和服务器。
Multiple tests run on these kernels, including the [Linux Test Project (LTP)][16], which contains a myriad of tests using a common test harness. My CKI team open-sourced over 44 tests with more on the way.
这些内核上运行了包括 [Linux 测试项目LTP][16]在内的多个测试,其中包括使用常用测试工具的大量测试。我们 CKI 团队开源了超过 44 个测试并将继续开源更多测试。
### 参与其中
The upstream kernel testing effort grows day-by-day. Many companies provide test output for various kernels, including [Google][17], Intel, [Linaro][18], and [Sony][19]. Each effort is focused on bringing value to the upstream kernel as well as each companys customer base.
上游的内核测试工作日渐增多。包括[Google][17]、Intel、[Linaro][18] 和 [Sony][19] 在内的许多公司为各种内核提供测试输出。每一项工作都专注于为上游内核以及每个公司的客户群带来价值。
If you or your company want to join the effort, please come to the [Linux Plumbers Conference 2019][20] in Lisbon, Portugal. Join us at the Kernel CI hackfest during the two days after the conference, and drive the future of rapid kernel testing.
如果你或者你的公司想要参与这一工作,请参加在葡萄牙里斯本举办的 [Linux Plumbers Conference 2019][20]。在会议结束后的两天加入我们的 Kernel CI hackfest 活动,并推动快速内核测试的发展。
For more details, [review the slides][21] from my Texas Linux Fest 2019 talk.
更多详细信息,[参见][21]我在 Texas Linux Fest 2019 上的演讲。
--------------------------------------------------------------------------------