【问题标题】:Creating tags/labels for daily builds为日常构建创建标签/标签
【发布时间】:2011-06-08 08:15:21
【问题描述】:

我是一名发布工程师,刚刚换了一家新公司。根据我的角色要求 在新公司中设置构建过程。我们在这里使用 svn 进行版本控制。

根据我以前的经验,每次构建都将 附有标签。在这里定义新流程时,我试图 验证每个构建是否真的需要这个标签。

以下是我能想到的一些优点和缺点

优点:

  • 如果我们必须比较两个版本会有所帮助
  • 无需单独标记不同的里程碑版本。如果在构建期间没有自动创建,这将是手动过程。
  • 当出现严重错误或发现一些奇怪的无法找到的错误时,可以更轻松地恢复到“已知良好的构建”。

缺点:

  • 从长远来看,标签目录 变得杂乱并创造 性能问题,如果数量 标签在单个文件夹中很高。
  • 在 存储库(虽然可以忽略不计 在 svn 的情况下)

除了上面提到的,还有其他的利弊吗?

【问题讨论】:

    标签: svn version-control tags versioning


    【解决方案1】:

    其实,如果你说的是SVN,其实并没有TAGS这个概念。这些只是另一个逻辑副本,就像分支一样。即使您创建了它们,旧的也可以随时删除。

    Subversion 中的 viz-a-viz 概念是 Revision
    当您从 SVN 构建时,每棵树(主干/分支)都会有一个与之关联的唯一修订号,并且每次连续签入该特定分支或主干中任何位置的代码,整个树的修订号将加一。 因此,特定修订号的特定分支/主干将始终相同

    我建议您将构建的修订号附加到构建名称。这样您就可以知道特定分支是在哪个修订版上构建的。如果需要比较,您只需将该分支的当前构建版本与先前构建的版本进行比较。简单!

    因此,实际上不需要标签。

    【讨论】:

    • 如果我是对的,svn 中的复制操作只是将标签与特定修订相关联(直到新分支未被修改)。在那种情况下,为构建添加标签不会是一项昂贵的操作,这是我的感觉。不过我同意你的观点。将修订号与构建相关联是一个很好的建议,我将看看它在我的环境中如何可行。
    • 是的,正如我所说...在修改该标签/分支之前,将标签与特定版本相关联不会花费您。但是,从逻辑上讲,它不会是最佳/理想的方法。另外,如果您仍然决定继续使用标签,我建议您使用 SVN 预提交挂钩来防止标签修改
    猜你喜欢
    • 1970-01-01
    • 2021-05-25
    • 2017-03-08
    • 2018-08-08
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多