We are trying to improve our Jenkins setup. So far, we have two directories: / plugins and / tests.
Our project is a multi-module Eclipse plug-in project. The control plugins in the / tests folder are fragmentary projects that depend on their respective productive code plugins in / plugins.
So far, we have had only one Jenkins task, which checked both / plugins and / tests, built them all and prepared the results of Surefire, etc.
Now we are thinking about dividing the project into smaller tasks that correspond to the functions we provide. It seems that we tried to do this suboptimal.
We tried the following:
- We created a job for the main function. This work checks all / plugins and / tests directories and only builds the plugins that this function belongs to. This work has a separate pom.xml, which defines the main artifact and talks about the modules contained in this function.
- We created a separate task for tests that should run in function plugins. This job uses the cloned workspace from the main job. This task should be performed after the creation of the main function.
I somehow think that this is less than optimal.
- For example, only the main task can update the extracted files. If only those tests are updated, the main function should not be built again, but it will.
- , , , /plugins /tests, .
- , . , , , .
, . - ? .
EDIT: , , , , :
,
, , , .
?