Triggering downstream build jobs is easy enough. However, when setting up larger and more complicated build job setups, you sometimes would like builds to be able to run concurrently, or possibly wait for certain build jobs to finish before proceeding. In this section, we will look at techniques and plugins that can help you do this.
Jenkins has built-in support for parallel builds—when a build job starts, Jenkins will assign it to the first available build node, so you can potentially have as many parallel builds running as you have build nodes available.
If you need to run slight variations of the same build job in parallel, multiconfiguration build jobs (see Multiconfiguration Build Jobs) are an excellent option. This can come in handy as a way of accelerating your build process. A typical application of multiconfiguration build jobs in this context is to run integration tests in parallel. One strategy is to set up an integration test build job that can be run in different ways to execute different subsets of the integration tests. You could define separate Maven profiles, for example, or configure your build to use a command-line parameter to decide which tests to run. Once you have set up your build script in this way, it is easy to configure a multiconfiguration build job to run the subsets of your integration tests in parallel.
You can also get Jenkins to trigger several downstream builds in parallel, simply by listing them ...