开发者

Run build on change but don't checkout in Hudson

开发者 https://www.devze.com 2023-03-18 04:05 出处:网络
I have kind of an interesting problem... So I\'m trying to run a build every time I see a change on a directory in my SCM in Hudson. However, I don\'t need to pull the directory to run my script. Is

I have kind of an interesting problem...

So I'm trying to run a build every time I see a change on a directory in my SCM in Hudson. However, I don't need to pull the directory to run my script. Is there any way to check if there's a change in a directory, but don't pull it?

In addition, there is another directory which I do need to pull from Hudson at the same time. So basically I want something like:

On change of directory A or B:

pull directory B only

run script

I was told there was functionality like this in Hudson, but I can't find it. Any sugg开发者_运维问答estions? Thanks for the help!


In case anyone is interested, I was able to accomplish this with just Hudson and Perforce.

When using Perforce as the SCM (don't know about the others) there is a 'Use View Mask' checkbox. Checking that give you the ability to choose which directories/files in Perforce to poll without actually pulling those files. For example, I had in my view:

//depot/my_script

I didn't want my script to run automatically when I had a new version, so I put it int o the "Poll Exclude File(s) text box:

//depot/my_script

Which pulls the latest version of my script. Then I checked the Use View Mask checkbox and put:

//depot/my_code_to_compile/

into the View Mask box.

To make Perforce poll for changes, I just checked the "Poll SCM" in build triggers and then made it check every minute. (by inserting "* * * * *" into the Scheduler box)

So to sum up, with the variables set as above, my Hudson job had the following behavior:

check for changes every minute

On changes to //depot/my_code_to_compile/, the Hudson job will run

On changes to //depot/my_script, nothing will happen

The job will pull changes to my_script, but will download nothing from //depot/my_code_to_compile/.


I think you need to install the FSTrigger Plugin for this functionality. To what the wiki pages show this is supported in Jenkins, I am not sure about Hudson compatibility.

0

精彩评论

暂无评论...
验证码 换一张
取 消