Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build Pipelining and Continuous Integration with Maven and Hudson

Currently the my team is considering splitting our single CI build process into a more streamlined multi-stage process to speed up basic build feedback and isolate different ci concerns. The idea we had was to have each stage exist in Hudson as a different build with the correct maven goal or maven plugin execution, then chain them together using the post-build hooks of Hudson.

However to my knowledge, Maven as a build tool mandates that any lifecycle phase which is performed automatically builds every preceding lifecycle phase. This presents a number of problems the most significant of which is that maven is recreating the build resources with each distinct call and not using those of the previous stage. This not only breaks the consistency of the build lifecycle but has much more unnecessary processing overhead.

Is there a way to accomplish pipelining with CI using Maven? Assuming there is, is there a way to let Hudson know to use those resources built from the previous stage in the next one?

like image 360
Brandon Avatar asked Feb 02 '26 09:02

Brandon


1 Answers

I don't think this is well supported (see sharing build artifacts between jobs in hudson) and even less when using Maven.

like image 178
Pascal Thivent Avatar answered Feb 04 '26 21:02

Pascal Thivent