Conveyorization and continuous integration with Maven and Hudson

My team is currently considering dividing our single CI build process into a more streamlined multi-step process in order to speed up feedback from the base build and isolate the various ci problems. The idea we had was that each stage exist in Hudson as a different assembly with the correct maven or maven plugin target, and then connect them together using hooks after the Hudson assembly.

However, as far as I know, Maven, as a build tool, provides that any phase of the life cycle that runs automatically generates every previous phase of the life cycle. This presents a number of problems, the most significant of which is that maven recreates assembly resources with each individual call, rather than using the ones in the previous step. This not only violates the consistency of the assembly life cycle, but also has much more unnecessary overhead.

Is there a way to perform pipelining using CI using Maven? Assuming that there is, is there a way that Hudson knows to use these resources built in the previous step in the next?

+3
source share
3 answers

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

+1
source

In addition to the general approach of only sharing assembly artifacts through an external repository (for example, a structured shared resource), you can either archive artifacts needed with Hudson on board, or use the Workspace Plugin for cloning . Take a look at the HUDSON-682 question that allows you to create this plugin.

0
source

, Maven CI ( Bamboo, Hudson). GMaven script, pom.xml. pom.xml :

  • A <property> , 1
  • A <dependency> , 2 (.. ). scope=system , .

2. Maven, GMaven.

, Maven .

0

Source: https://habr.com/ru/post/1744400/


All Articles