Fedora 社区的持续集成 | Linux 中国
作者 | 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中国 荣誉推出
- ick:一个持续集成系统 | Linux 中国
- Linux 内核的持续集成测试 | Linux 中国
- Fedora 社区的持续集成
- [原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat
- Fedora 31 将放弃 32 位 i686 支持 | Linux 中国
- 推荐一款社区驱动的 Linux 命令速查小程序 | Linux 中国
- linux+ant+jmeter+jenkins搭建接口自动化持续集成平台
- 鄙视Linux开源社区不接受163等中国邮件
- 在 Fedora 28 Workstation 使用 emoji 加速输入 | Linux 中国
- linux下jmeter持续集成Jenkins部署时问题解决
- 开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins
- 基于Linux CentOS系统 搭建Jenkins+ANT+SVN+Junit4 持续集成自动化构建、单元测试、增量发布平台
- 如何参与和帮助「Linux 中国」开源社区的发展
- 使用 k3s 在 Fedora IoT 上运行 K8S | Linux 中国
- linux学习:持续集成篇--sonarqube代码质量管理平台的介绍与安装-04
- 开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins
- 使用 AppImageLauncher 轻松运行和集成 AppImage 文件 | Linux 中国
- 夕阳桥断 Linux(centos6.5)下安装jenkins Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。 通俗的来讲,jenkins就是一个可以实现自动化部署的一个插
- 持续基础设施:另一个 CI | Linux 中国
- Jenkins持续集成 之 Linux Git 安装