简体   繁体   中英

Reusing the same Maven artifact in multiple Jenkins/Hudson jobs

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:

  1. Even though only the needed goals are executed, eg no tests when deploying to Q&A, the build still takes a little too long, as the WAR file has lots of files in it.
  2. We rely on the build number from Jenkins to find out which build the artifact is from. Up till now it was the number from the 'fast' job, but now it is the number from the 'qa-deploy' job.

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.

你可以有一个项目,建立你的.war,然后将其从该项目复制到使用复制神器插件依赖项目在这里

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM