Reputation: 68328
I have set up a build pipeline for a war project using Jenkins and the build-pipeline-plugin . It consists of two actual jobs and an final manual job which deploys on Q&A .
Each of the jobs is configured to run the same project, activating different profiles. The first job - fast - is the default build, compiling the sources and running unit tests. The second job - browser - runs the Selenium-based browser tests. The third jobs deploys the war file to the Q&A server.
Each job produces a new war file, which bothers me for two reasons:
How can I configure Jenkins and/or Maven to reuse the artifacts from the first job?
I'd prefer a solution which does not change the overall project structure, as our project has a single war module, and splitting it means more work in documenting the changes and it is simpler to have everything in once place.
Upvotes: 4
Views: 2651
Reputation: 2669
You could have one project that builds your .war, then copy it from that project into the dependent projects using the Copy Artifact Plugin here.
Upvotes: 2
Reputation: 6204
I would really like to suggest to split this up into two modules and have the integration test declare a dependency on the war module, which might also contain the deploy action.
This is a much more flexible approach and not that much of an effort.
Upvotes: 1