Parallel Deployments issue

Jul 15, 2010 at 1:15 PM
Hi all. I have a lot of build projects and use TFS Deployer to deploy this builds to target servers and to run automatic tests. Sometimes my builds run one just after one and I get wrong TfsDeployerBuildDetail property. I mean script for build_1 get data from build_2. I think, it may be related to this fact that TFS Deployer uses one working folder (TFSDeployerConfiguration2) for DeploymentMappings files.
Jul 15, 2010 at 1:35 PM
  1. Are there any errors Event Log? 
  2. Are you Triggering a Build Quality Change after each build?
  3. I had to create a custom task to delete every workspace associated with the build account on the build machine for it to work.  (You can do that via the TF workspace command)
Jul 15, 2010 at 1:56 PM
1. Only errors, that TFSDeployerConfiguration2 is already used by another workspace. I get this error very often on my build agent. Clear Workspaces cache doesn't work for me :( 2. Yes, each build change Build Quality after DropBuild target. My scripts for TFS Deployer change Build Quality to "Failed" or "Success" too.
Jul 15, 2010 at 3:06 PM

I've seen this before.  TFS does not allow 2 workspaces to map to the same directory.   You need to have TFS Deployer get the latest sorce to a temp directory with a GUID as the name and create a Workspace with a GUID as the workspace name and then do the mapping there.   Also I created a "Delete Workspace with GUID names" function that uses REGEX to seach for that pattern.  I've actualyl modified TFSDeployer to handle many of these practical cases.

Jul 15, 2010 at 3:48 PM
Where can I find information how to change TFSDeployer working directory? Is that TFSDeployer configuration parameter? Cat this fix my issue with parallel deployments?
Jul 15, 2010 at 3:56 PM

That's all internal to the code.  It's also very useful to run deployer in interactive mode from the command line with "-i"  and turn tracing on to full by modifying the config files.   If the ONLY issue is workspace conflict then yes it will fix it.  I discovered other issues once that was fixed but they were powershell related.