Our organization’s custom build tools write out a lot of intermediate data, and I’d like it if Hudson could detect which files were created as part of a build and archive those. I’m not sure if it already does so, but if it does there’s no user-visible explanation of it, and certainly deleting a build does not delete its output.
In detail here’s what I want. Suppose I start with a bare workspace. After build 1, I have this:
ws/
src/...
obj/
1/...
log/
1/...
pkg/
pkg-1.tgz
Now, I run build 2:
ws/
src/...
obj/
1/...
2/...
log/
1/..
2/..
pkg/
pkg-1.tgz
pkg-2.tgz
The source code is checked out into ws/src each build; there’s a custom checkout process, so I can’t use the svn RCS method :/.
When I delete a build, I’d like to delete everything that came from that build. Can I do this?
The Hudson way would be to clean up all temporary files at the beginning of the build, and then use Hudson’s artifacts archive facility to save the output from each build – specify pkg/**/*.tgz for the “Archive the Artifacts” post build step and then the tgz files will all be copied into the job specific storage area.
The workspace is just a workspace – it’s not intended for long term storage.