2011-04-11 71 views
4

我已在Jenkins中設置了一項工作,使用Mercurial plugin輪詢我的Mercurial存儲庫。一旦我推送到存儲庫,這很有效。我可以手動觸發構建作業,但是我無法觸發作爲輪詢一部分發生的hg pull/update,這意味着我必須等待長達60秒的時間才能使構建以我的新更改開始。有時我會推動我知道會影響並可能破壞系統構建並想要更快反饋的更改。在手動構建之前拉取/更新的最佳方式是什麼?如何在Jenkins/Hudson工作中手動觸發Mercurial的拉動?

+0

: - 它看起來像我錯過了什麼,當我最初測試這個。 Jenkins似乎在每次構建開始時執行「hg incoming」,然後是「hg unbundle」,然後是「hg update」,即使構建是手動觸發的,這也是我想要的。我不能只是刪除問題,所以我會重新發布這個答案。 – 2011-04-12 06:38:58

回答

0

看來我錯了。當我開始測試時,我一定錯過了日誌中的某些東西,或者我可能在推送到服務器之前點擊了手動構建鏈接。 Jenkins似乎在每次構建開始時執行hg incoming,然後hg unbundle,然後hg update,即使構建是手動觸發的,這正是我想要的。

0

你的安靜期是否定了?您可以將其更改爲0以立即觸發builde(http://jenkins-ci.org/content/quiet-period-feature)

另外,您可以有兩個工作,一個您現在擁有,另一個第二個只是投票改變。 「輪詢者」可能在看到變化時觸發當前的工作(「在項目之後構建」)。

0

我會建議如果你有問題與更新/拉與hg。你可以做的是使用執行shell來更新你的版本,因爲你從手動拍攝你的版本。然後你可以定期制定工作;所以它會讓你的拉力發生,無論你設定的時間是什麼。您不必擔心輪詢您的SCM。