Currently when running a simple pipeline like:
Each time you start the job the node used for the node block will be chosen randomly amongst all nodes supplyimg the 'label' label.
This is very unfortunately because the involves lot of unneccessary compiles and cost a lot of time. In addition to that overall it'll need more disk space.
So far I could not find any related feature request or bug which would cover this request. I tried to hack a workaround using a global shared library but so far I think this is simply not possible to do a stable approach using a global shared library.
Request is to:
- Store labels which had been in use by the last successfull job run.
- For a ne node block, search in the list of stored label to build agent mappings for the build agent which was used in the last run
- Try to reuse that very build agent. If there's no free executor shall build on another machine matchine the required abel expression elase.