version-control - 用于生成 4GB ISO 的构建系统的版本控制解决方案

标签 version-control build centos

我有一个软件项目,在其构建的最后阶段,在创建所有 jar 文件和相关脚本/配置文件后,我需要将其植入 CentOS ISO 中,该 ISO 具有运行一些安装后脚本的 kickstart 配置文件并安装一些定制的 RPM。

该项目位于 SVN 存储库上,并从那里构建。我无法将 iso 文件插入存储库,因为 SVN 无法处理 4GB 存储库。 另一方面,问题是 ISO 中的一些 RPM 可能会随着版本的不同而改变,当我想构建项目的旧版本时,我的处境很糟糕,因为 RPM 不在 SVN 中存储库。

是否有一个好的版本控制解决方案,我可以使用它来处理如此大量的数据的 4GB ISO? 对于我想要做的事情是否有非版本控制解决方案?

我希望对现有 SVN 存储库的结构进行尽可能少的更改,因为有许多脚本和内容依赖于它。

非常感谢各种答案和建议。

谢谢!

最佳答案

如果您确实需要存储大型工件(ISO、RPM...):

  • 您无需比较一个版本与另一个版本的差异
  • 您不需要进行并行演化(只读工件)

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

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

您将在 SVN 存储库中创建一个文本文件,其中包含对工件存储库的必要引用以及存储所述工件时使用的 SHA1/MD5 key 。

这两个存储库的组合将允许完全的可重复性,同时可以很好地扩展(就存储库大小而言),因为工件存储库(与 VCS 相反)仅受磁盘空间的限制。

关于version-control - 用于生成 4GB ISO 的构建系统的版本控制解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3432013/

相关文章:

php - 如何开始使用版本控制和PHP

visual-studio - 错误 MSB6006 : "lc.exe" exited with code -1

c++ - #ifdef _DEBUG vs 2008 中的 Release模式

java - 免费版和付费版应用程序的通用数据

permissions - 目录权限 CentOS

phpmyadmin - 如何修改phpmyadmin禁止页面?

Git:由于看似随机的 merge ,更改不断丢失

version-control - Bazaar (bzr) 预定义位置

version-control - SCM中标签的正确使用

drupal - 如何递归地保护/sites 文件夹?