We use Jenkins as our CI system and Maven as our build tool. We have a SVN repository for our code and Artifactory for our artefacts.
The source code is organized as a multi-module maven project. Most modules contribute to the actual application, but some modules are applications thT we need during the build and test process.
We have currently multiple jobs for:
One weakness of our build process is that we compile different parts of the project in different jobs, some of the parts over and over again. Instead I would prefer to build everything once deploy it to artifactory and just use these artifacts for everything else.
But I don't know how to make sure that:
Any help, pointers or ideas appreciated.
Jenkins can use Maven as its build tool.
In the Jenkins dashboard (Home screen), click Manage Jenkins from the left-hand side menu. Then, click on 'Configure System' from the right hand side. In the Configure system screen, scroll down till you see the Maven section and then click on the 'Add Maven' button.
It uses 4 Build Executors and puts 1 build into the queue.
There are many ways to answer this question. I am currently using the same set up in my development environment.
My personal preference is to keep it simple: I make a single maven module that does the whole application, where only infrequently changing code is put into a completely separate module tree / job. For simplicity, I keep the number of jobs to a minimum.
We tried using a separate job for testing, but that made it tricky to trace the source of a test failure, and it also made 'branching for prod' much more difficult.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With