【问题标题】:How can I manually trigger a pull from Mercurial in a Jenkins/Hudson job?如何在 Jenkins/Hudson 工作中手动触发 Mercurial 的拉动?
【发布时间】:2011-04-11 00:34:25
【问题描述】:

我在Jenkins 中设置了一个作业,它使用Mercurial plugin 轮询我的Mercurial 存储库。一旦我推送到存储库,这就会很好地工作。我可以手动触发作业的构建,但我无法触发作为轮询的一部分发生的 hg pull/update,这意味着我必须等待长达 60 秒才能开始构建我的新更改。有时我会推动我知道会影响并可能破坏系统构建并希望获得更快反馈的更改。在手动构建之前拉取/更新的最佳方式是什么?

【问题讨论】:

  • :-$ 看起来我在最初测试它时错过了一些东西。 Jenkins 似乎在每次构建开始时执行hg incoming 然后hg unbundle 然后hg update,即使手动触发构建也是我想要的。我不能只删除这个问题,所以我会重新发布这个作为答案。

标签: mercurial continuous-integration hudson jenkins


【解决方案1】:

你的安静期设置好了吗?您可以将其更改为 0 以立即触发构建 (http://jenkins-ci.org/content/quiet-period-feature)

此外,您可以拥有两份工作,一份是您现在拥有的,另一份只是轮询更改。当“轮询器”看到更改时(“项目后构建”),它可能会触发您当前的工作。

【讨论】:

    【解决方案2】:

    如果您在使用 hg 进行更新/拉取时遇到问题,我会建议您。您可以做的是使用执行 shell 来更新您的构建,因为您手动拍摄构建。然后您可以定期构建作业;因此,无论您设置的构建周期是什么,它都会导致您的拉动发生。您不必担心轮询您的 SCM。

    【讨论】:

      【解决方案3】:

      看来我错了。当我最初测试这个时,我一定错过了日志中的某些内容,或者我在推送到服务器之前点击了手动构建链接。 Jenkins 似乎在每次构建开始时执行hg incoming 然后hg unbundle 然后hg update,即使构建是手动触发的,这正是我想要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-28
        • 1970-01-01
        • 1970-01-01
        • 2016-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多