1
我們使用Hudson(1.398)和Perforce插件(1.1.14)來運行持續集成。構建被髮起每次有是一個Perforce觸發器調用簽入:爲什麼Hudson與Perforce插件同步到最後一個更改列表?
wget "http://username:[email protected]:8080/job/hudson_projname_test/buildWithParameters?token=SECRETTOKEN&CHANGENUM=315311&SUBMITTER=username"
哈德森cosole看起來是這樣的:
Started by remote host 169.169.69.69
Using master perforce client: projname_a0_username_hudson
[hudson] $ /eda/perforce_2010.1/x86_64/bin/p4 workspace -o projname_a0_username_hudson
Last sync'd change: 315267
[hudson] $ /eda/perforce_2010.1/x86_64/bin/p4 counter change
[hudson] $ /eda/perforce_2010.1/x86_64/bin/p4 -s changes //projname_a0_username_hudson/[email protected],@315311
Sync'ing workspace to changelist 315267.
[hudson] $ /eda/perforce_2010.1/x86_64/bin/p4 sync //projname_a0_username_hudson/[email protected]
Sync complete, took 3956 ms
[hudson] $ /bin/sh -xe /tmp/hudson30156.sh
+ p4 sync @315311
+ runsim
的問題是,赫德森似乎並沒有被同步到最後一個更改列表,而是到最後一個更改列表的下一個,所以我必須「手動」同步通過參數傳入的更改列表。但是,當它通知提交者他們可能破壞了構建時,這個Hudson的b/c使用了錯誤的更改列表。
有沒有其他人注意到Hudson/Perforce的這種行爲,如果有的話,你是如何解決這個問題的?
就是這樣!謝謝! – stephenmm 2011-03-23 20:31:51
您可以將觸發器更改爲更改提交觸發器,或使用Hudson URL觸發器http://wiki.jenkins-ci.org/display/JENKINS/URL+Change+Trigger – aflat 2011-03-24 02:08:04