Allows use of a unique parameter value per concurrent build
Configuration steps
- Install plugin
- Add build step parameter pool to your project
- Project names refers to the projects that should be checked for running parameter pool values. If left blank, only the project containing the build step is checked.
- Paramter name is the name for the paramter
- Paramter pool is a comma separated list of parameter values that the plugin can pick from.
Rules for parameter selection
- The plugin reads from left to right for parameter values.
- The first value that is not in a running build is picked.
- If prefer failed builds is selected, the first value that is from a failed build and not in a running build is picked.
- [start..end] can be used for quick value entry. e.g. sanbox[1..5] corresponds to sandbox1, sandbox2, sandbox3, sandbox4, sandbox5
Background
I needed to create something like this for our CI environment. We have test VMs that we set up then run tests against on a per commit basis.
These VMs are separate to slaves. To run these tests concurrently, I needed to ensure that two test jobs wouldn't run against the same test VM.
Our development team use the following flow.
After a code commit, the following runs
- A container tests job is kicked off
- This job uses the parameter pool plugin to select a vm name that is not in use in any other running container test job
- This vm is reverted
- This vm is rebuilt with the code from the commit
- Tests are run against that vm.
Change Log
Version 1.0.3 (August 5th, 2017)
- Support using variables for the project names' field.
Version 1.0.2 (October 23rd, 2015)
- Tidied up logging. Made it less verbose and more contextual.
Version 1.0.1 (October 22nd, 2015)
- When using multiple projects, check the regular parameters against the parameter pool variable name as well.
Version 1.0
- Initial release