We have a Hudson nightly matrix build that produces quite a few build artifacts (for several different platforms and oracle versions). I would like to create a downstream Hudson job that gets all the successful build artifacts from our nightly build and then does something with them.
Is there an easy way to do this?
I've looked at the ability to scp the build artifacts somewhere after a build, but we'd rather not have to introduce some sort of temporary h开发者_StackOverflow中文版olding directory for builds. It seems more elegant to be able to get them directly from the Hudson when the downstream job gets started.
Right now I'm contemplating a little python script to parse the nightly build's html and find the links to all the artifacts (they're all of the form: "http://hudson:8080/trunk/750/ab.oracle.version=10.2.0,label=linux/artifact/artifact.zip"). We add and remove platforms regularly. I think the python script will work, but it's such a hack!
The Copy Artifact plugin is able to collect artifacts from a matrix build and consolidate them in a single workspace. It can be configured to copy from certain axes/configurations or alternatively all configurations.
We used a common network share to hold all of our artifacts.
It would be nice if Hudson contain a repository, but given that the core development team uses Maven, which provides those kinds of features, it may be a while.
精彩评论