4

我正在配置一个构建机器来为大量非常相似的项目生成 rpm。每个项目的规范文件都略有不同,无论是名称还是依赖项和其他属性。每个项目都有自己的 git 存储库,其中包含项目文件。

这些规范文件只存在并且真实地只对构建系统本身有用;每个项目都可以手动安装,但我打包成 rpms 以便于自动部署。

构建系统本身也有自己的 git 存储库。

规范文件应该版本化吗?如果是这样,在哪里?每个规范文件是否应该在与其关联的项目的存储库中进行版本控制?还是应该将它们都与构建系统在同一个存储库中进行版本控制?而且,最重要的是,为什么?

我担心对项目存储库中的规范进行版本控制会导致文件彼此不同步,因为我对安装过程进行了逐步改进。我还担心对构建存储库中的规范进行版本控制会导致在更改依赖项时忘记文件。

4

1 回答 1

0

我正在一个项目中,我们在与库或项目相同的目录树中对 RPM 规范文件进行版本控制。为什么?这使所有东西都整齐地放在一起。当我们更新库中的源文件时,spec 文件就在那里,以将适当的条目添加到 %changelog,详细说明为错误修复或增强所做的工作。

对于您的情况,这是一个艰难的决定。但我认为您的构建/安装系统最终会达到一个稳定点,而您的所有项目无疑都需要在修复错误时的某个时间点进行更新。是的,在您调整构建/安装过程时,短期内可能会很痛苦,但是一旦稳定下来,从长远来看会更容易。

于 2012-12-10T18:59:53.847 回答