1
我正在計劃一個觸發哈德森構建的mercurial changegroup鉤子。我怎樣才能觸發哈德遜一個mercurial支持項目的某些版本的構建?
項目被添加到隊列中,並且哈德森在有空閒插槽時構建它。問題在於,有人可能在此期間將代碼推送到了項目中,所以哈德森將構建新的版本(因爲它運行的內容類似「hg pull -u & & build」),而不是版本庫的修訂版本在第一次構建被觸發時。
有沒有解決這個問題的方法?也許使用參數化版本?如果它不適用於單個作業,也許我可以在每次推送時創建一個作業,並將mercurial url設置爲包含修訂版段?
感謝提示。
嗯,但然後我需要一個自定義的工作不是?目前我們使用的是hudson mercurial插件。 – zedoo 2011-03-21 16:46:38
哈德森應該將任何參數傳遞到您的構建腳本中作爲您可以在其中使用的環境變量。你是用Ant,Maven還是類似的東西構建的?它只需要檢查env是否構建一個NODE ID。 – 2011-03-21 16:49:35
我不知道如果構建觸發,mercurial插件如何反應。我們目前使用導致hg pull -u的輪詢。如果觸發器執行相同的操作,那麼我們需要在pull -u和我們的構建之間添加一個步驟(我不知道我認爲它是shell),它將運行hg update $ REVISION。 – zedoo 2011-03-21 17:04:45