如何在Jenkins/Hudson作业中手动触发Mercurial的拉取操作?

4
我在Jenkins中设置了一个任务,使用Mercurial插件轮询我的Mercurial代码库。一旦我推送到代码库,这个任务就很有效。我可以手动触发任务的构建,但无法触发轮询中发生的hg pull/update操作,这意味着我必须等待长达60秒才能启动新更改的构建。有时候我会推送可能会影响并可能破坏系统构建的更改,并希望获得更快的反馈。在手动构建之前,最好的方法是什么?

看起来我在最初测试时漏掉了一些东西。Jenkins似乎在每次构建开始时执行hg incoming,然后执行hg unbundle,最后执行hg update,即使是手动触发的构建,这正是我想要的。我不能只是删除问题,所以我会将其重新发布为答案。 - Rebecca Scott
3个回答

0

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

此外,你可以有两个任务,一个是你现在拥有的,另一个只轮询更改。 "轮询器" 可以在看到更改时触发当前任务(“项目后构建”)。


0
我建议如果您在使用hg更新/拉取时遇到问题,可以使用执行shell来更新您的构建,因为您手动启动了构建。然后,您可以定期构建作业;这样它将导致您的拉取发生在您设置的构建周期内。您不必担心轮询您的SCM。

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接