代码之家  ›  专栏  ›  技术社区  ›  Joe Schneider

跟踪从哈德逊到Mercurial回购的构建

  •  4
  • Joe Schneider  · 技术社区  · 16 年前

    我正在为开发建立一个Hudson/Mercurial堆栈。我拥有的用例之一是“作为开发人员,我想从Hudson中将本地沙盒更新为特定的内部版本号,这样我就可以[修复错误、调试问题、创建代码的分支版本等]。

    所以,如果我在Hudson上看到build 49,如何将本地Mercurial repo更新为用于build 49的源代码?

    注意:我看过mercurial标签,但是它们看起来不太合适。它们需要提交,因此提交似乎会弄脏历史记录(开发人员的每个提交都将显示标记操作的后续提交)。如果这是最好的,我想我将不得不忍受它,但希望有更好的东西。可能仍然使用标签来发布。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Joe Schneider    16 年前

    好的,下面是我最后得出的解决方案:

    使用描述设置器插件,我将成功和失败的构建描述设置为“mercurial$mercurial_revision”。结果显示当前Mercurial SCM插件将此环境变量设置为父变更集ID。

    然后,我可以查看在Hudson上构建的代码,如果需要,可以获取变更集ID,并在本地repo上执行“hg update”以获取代码的修订版。

    请注意,在Mercurial插件问题跟踪器中,有人讨论将其改为hg_修订版,并添加其他环境变量,因此这可能在将来某个时候中断,但目前对我有效。

        2
  •  1
  •   Ry4an Brase    16 年前

    您可以使用Hudson系统上的关键字扩展将nodeid更新到构建的某些方面,可能包括工件名称。如果哈德逊作业输出工件类似于:myproject-2010-02-17-2dbf7575fa46.tar.gz,那么您当然知道如何“hg update”到该时间点。

    关键词的扩展和可能的一点蚂蚁傅使这很容易做。

    推荐文章