This should be pretty simple to do with Jenkins, without requiring any plugins, although it depends on the type of SCM used.
In any case, there is an update from Hudson; no doubt the features needed to support your use case have been enhanced in many versions, starting with the formation of Jenkins.
You want to pass the repo path as a parameter to your assembly, so you must select the This assembly parameter is parameterized " option in the assembly configuration. There you can add the string parameter REPO_PATH or the like.
Next, where you indicate where the code is downloaded, replace the path with ${REPO_PATH} .
If you are checking the code β or otherwise need access to the repo path β from the script, the variable will automatically be added to your environment, so you can reference ${REPO_PATH} from your script or Ant shell file.
At this point, when you click Build Now, you will be prompted to enter the repo path before the build begins. As mentioned in the above wiki page, you can call the buildWithParameters URL to start building directly with the desired parameter, for example. http://server/job/myjob/buildWithParameters?REPO_PATH=foo
Finally, if you want assemblies to run simultaneously, Jenkins can manage this for you by creating temporary workspaces for parallel assemblies. Just enable the option "Perform parallel assemblies if necessary" in your job configuration.
Artifacts will be available, like any other Jenkins builds. Although you probably want to control the amount of recent artifacts; this can be done by checking the "Cancel old builds" checkbox, and then under Advanced ... you can select the value "Maximum number of lines for storing artifacts".
source share