jenkinsci/parameterized-trigger-plugin — pull request #16 by parker21 (2012-02-12 23:59:17+00:00)
Title: [JENKINS-12488] Exports TRIGGERED_BUILD_TAGS env variable, which lists c...

...omma separated list of triggered build tags. Also, add "Lines from file Parameter Factory"

This request is a replacement for this old pull request, which I've closed based on feedback - https://github.com/jenkinsci/parameterized-trigger-plugin/pull/15

Adding a general purpose ParameterFactory which triggers a build for each line in a text file. The same effect could be achieved with the FileBuildParameterFactory. However, using FileBuildParameterFactory would result in having to write 200 property files to the workspace. I think both are useful and should be included.

Combined with JENKINS-12488, which sets a list of triggered build tags (build name and build number) to an environment variable, we were able created a pretty cool way to parallelize automated tests. Will you please accept this pull request into the plugin? It includes the "Lines from file Parameter Factory" and the fix for JENKINS-12488.

More background - Instead of running of tests (JBehave->selenium) sequentially, we were looking for a way to:

1) Determine which tests need to run (applying meta filters)
2) Dispatch the execution of each test to it's own build so that Jenkins can queue and distribute to slave nodes
3) Aggregate test results after all tests are complete

We tried different things. Triggering a Matrix job seemed promising. However, with a Matrix job, it seemed to us that the values for an axis are pretty static. They are decided when the configuration is saved. We were able do this more dynamically, by first writing the tests to be run to a text file and then, in the second build step, triggering a "worker job" (able to run concurrently) using a "Lines from file Parameter Factory" and blocking. A later step copies the artifacts from each triggered build (possible because of the fix for JENKINS-12488).

Anyway we are really happy with how it works and want to share with others! Please let me know if I can do anything else.