2010-08-07 121 views
2

我有一个软件项目,在其构建的最后阶段,在创建所有jar文件和相关脚本/配置文件后,我需要将它植入CentOS ISO有一个kickstart配置文件,它运行一些后安装脚本并安装一些定制的RPM。构建系统的版本控制解决方案,生成4GB ISO

该项目位于SVN存储库中,并从此处构建。我无法将iso文件插入存储库,因为SVN不处理4GB存储库。 另一方面,问题是ISO中的某些RPM可能会因版本而有所不同,而当我想要构建项目的旧版本时,我处于不利位置,因为RPM不在SVN存储库。

有没有一个好的版本控制解决方案,我可以使用4GB的ISO可以处理这个数据量? 有没有一个非版本控制解决方案,我想要做什么?

我希望尽可能少地改变现有SVN存储库的结构,因为有很多脚本和依赖它的东西。

将欣赏各种答案和建议。

谢谢!

回答

2

如果你真的需要存储大量的文物(ISO,RPM,...),其中:

  • 你不需要从一个版本的差异比较其他
  • 你不” t需要进行并行演变(只读文件)

那么你实际上并不需要VCS(版本控制系统)。

您需要工件存储库,例如Nexus
请参阅“Best practice to store .jar files in VCS (SVN, Git, …)

你会版本中你的svn回购的文本文件的神器库和所说的文物已被存储时使用的SHA1/MD5键必要的引用。

那些两个储存库的组合将允许完整的再现性,而很好地缩放(在储存库大小的术语),因为一个工件存储库(违背一个VCS)仅由磁盘空间的限制。

+0

谢谢 - 这听起来完全像我在找的东西。 我来看看。 – yonix 2010-08-08 06:07:21

0

为什么你必须在版本控制中存储ISO或RPM?

为什么不存储可以重建所需的ISO和RPM的脚本和/或配置?

+0

因为他们是第三方RPM,我无法自己构建它们。 – yonix 2010-08-08 06:07:56

1

如果您需要可重现的构建输出,那么您需要对整套构建输入进行版本化。这包括RPMs,或者至少是它们版本的清单,如果它们可以从某个地方可靠获取的话。保存生成的ISO将是徒劳无益的。

相关问题