使用标签或目录来破坏SCM中的平台版本?

时间:2010-04-12 11:04:43

标签: build-process version-control tagging

我们有一系列在构建Apache时使用的脚本。具体来说,这些脚本用于:

  • 修补香草源代码,
  • 客户特定功能的补丁,
  • 构建并安装Apache服务器,
  • 构建客户特定模块,
  • 为最终部署创建自定义安装tarball。

N.B。 tarball和configs的部署由其他独立机制处理。此系统创建安装tarball以传递给Ops,Ops然后处理到Web场的部署。

我们有以下版本的补丁和模块:

  • 不同的操作系统和操作系统版本,以及
  • 不同的Apache版本。

N.B。不同的Apache版本往往只在测试和迁移到Web场的新版Apache时存在。

我现在已经在CVS下提供了补丁和自定义模块,目前根据Apache发布版本对它们进行了标记。

我应该保持标记简单并使用子目录来区分特定于Linux的元素和特定于Solaris的元素吗?或者我应该保留一个目录结构并使用更复杂的标记来区分不同操作系统的元素?

我们目前正在使用CVS,即将迁移到SVN。

1 个答案:

答案 0 :(得分:1)

对于特定于平台的版本,通常有助于:

  • 有模板脚本(即包含变量的脚本)
  • 一个部署脚本,它将复制模板并用平台特定数据(主机名,端口号,路径......)替换变量。

对于所有类型的脚本来说并非总是如此,但如果差异有限,那么这种方法可以让您使用:

  • 一个简单的标记
  • 一个简单的标签
  • 管理特定于平台的差异的一个中心位置(“部署”脚本)