Flock 2014 第一天:Copr 现状

米洛斯拉夫·苏西(Miloslav Suchy)发表了一份关于 丙二醇 昨天在 Flock 展示了一项服务在一年内可以走多远。 在 Copr 上工作,这是一个轻量级的构建服务,用于尚未发布的贡献者包 Fedora 正式开始,不到一年前。 但该服务已经托管了超过 250GB 的数据,并产生了超过 25,000 个构建!

什么是COPR? 简而言之,它是一个用于构建包并为尚未发布的包提供存储库的系统 Fedora 或者还没准备好 Fedora – 为了 exampleGNOME 3.12 专为 Fedora 20 对于想要在下一个之前去最新的 GNOME 的用户 Fedora 释放。 或包的实验版本。

在 Copr 的工作开始之前,有关于重新使用 Koji 或 开放构建服务 (OBS)。 然而,Suchy 说 Koji 比他们想要的更复杂,而且 OBS 使用不同的脚本来构建包 – 并且担心 Copr 和 Koji 可能会生成相同包的不同构建。 苏西表示,未来 Copr 有可能转向 OBS,但目前它是它自己的产品。

建设 Copr 的挑战

尽管团队取得了迅速的进展,但也并非没有挑战。 为了 example,Suchy 提到 Copr 使用 OpenStack 创建新的虚拟机来构建包,然后在构建成功后销毁 VM。 这样做的基本原理是,他们希望每次构建都有一个干净的环境,因此重复使用相同的 VM 不是一种选择。

这是 OpenStack 的理想用例,但 Suchy 指出 Fedora 基础设施目前有一个老化的 OpenStack 版本,而且它是临时性的——当您严重依赖基础设施作为服务的核心部分时,这可能会导致问题。

从好的方面来说,Suchy 表示他们预计会出现法律问题——人们试图在 Copr 中托管不符合法律准则的包裹——但这并不是一个大问题。

Copr整合

Copr 有几个集成点非常适合不同的开发人员工作流程。 Suchy 提到有一些 CLI 工具可以很好地与 Git 集成,并且可以轻松创建源 RPM 并将其发送到 Copr 并获得生成的包。 还有一个 Jenkins 插件,它将测试包,然后在测试成功时发送到 Copr 进行构建。 使用 DNF,您可以简单地使用“dnf copr enable msuchy/foo”之类的东西,它会自动设置存储库并让您抓取包。

会发生什么

Copr取得了长足的进步,但还没有完成! Suchy 说,许多开发人员会很高兴看到 Copr 即将推出的一些主要功能。

其中一个大问题是包签名,这是目前 Copr 中缺少的一个部分。 该服务也将很快获得更多存储空间,考虑到 Copr 的增长率,这一点很重要。 (该服务目前使用了大约 30% 的存储空间,但可以很快消耗掉。)

对于 Copr 的正常运行时间而言,重要的是, Fedora 基础设施应该很快就会推出一个新的 OpenStack 实例,这对服务来说应该更可靠。

最后,Suchy 表示 ARM 构建将很快可用于 Copr,这对于想要使用的人来说是个好消息 Fedora 在 ARM 上,带有不属于官方发行版的软件包。

总之,Copr 被证明是一项至关重要的服务 Fedora 社区,明年还会有更多内容,这将使其更加有用。