tfs 2010 deployer Not working

Jun 30, 2011 at 8:01 PM

After a couple of days of banging my head on this I am asking for help. I am using TFS deployer 2008 with TFS 2008 without problems but we are upgrading to TFS 2010 and I have to get this figured out.

Currently Using a Server 2008 64bit. My account is local admin and tfs admin

I have followed the instruction per the documentation and have read through the discussions. 

First I created a team build 2010 definition using the $/myteamproject/BuildProcessTemplates/default template.xaml. I then placed in that same location in source control a folder called Deployment. With that folder i have DeploymentMappings.xml

for example $/myteamproject/BuildProcessTemplates/Deployment/

In there i have my deploy.ps1 and deploymentmappings.ps1

Here is my deployment mappings file.

<DeploymentMappings xmlns="http://www.readify.net/TfsDeployer/DeploymentMappings20100214">
  <Mapping BuildDefinitionPattern="DEV"
          Computer="server2008_64bit" OriginalQuality="*" 
          NewQuality="Ready for Dev" Script="Deploy.PS1"
 	  RunnerType="PowerShell"
          NotificationAddress="me@frustrated.com" />
 </DeploymentMappings>

I have placed the tfsdeployer files under C:\Program Files\TFS Deployer. I configured the TfsDeployer.exe.config

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="TfsDeployer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <TfsDeployer.Properties.Settings>
      <setting name="KeyFile" serializeAs="String">
        <value />
      </setting>
      <setting name="SignDeploymentMappingFile" serializeAs="String">
        <value>True</value>
      </setting>
      <setting name="TfsUserName" serializeAs="String">
        <value />
      </setting>
      <setting name="TfsDomain" serializeAs="String">
        <value />
      </setting>
      <setting name="TfsPassword" serializeAs="String">
        <value />
      </setting>
      <setting name="TeamProjectCollectionUri" serializeAs="String">
        <value>http://myTFSserver:8080/tfs/mySandbox/</value>
      </setting>
      <setting name="BaseAddress" serializeAs="String">
        <value>http://server2008_64bit/Temporary_Listen_Addresses/TfsDeployer/</value>
      </setting>
    </TfsDeployer.Properties.Settings>
  </applicationSettings>
  <system.net>
    <mailSettings>
      <!-- TODO update mail settings for each environment -->
      <smtp deliveryMethod="Network" from="me@frustrated.com" >
        <network host="oursmtpserver" defaultCredentials="true" />
      </smtp>
    </mailSettings>
  </system.net>

  <system.diagnostics>
    <!-- Uncomment the switches section to increase trace verbosity -->

    <switches>
      <add name="Readify.Useful.TeamFoundation.Common" value="Verbose" />
      <add name="TfsDeployer" value="Verbose" />
      <add name="TfsDeployer.DeployAgent.DeploymentHostUI" value="Verbose" />
    </switches>

    <trace autoflush="true" />
  </system.diagnostics>

</configuration>

Then I start a cmd prompt "as administrator" run tfsdeployer.exe -d
I queue my build wait for success then change the build quality to "Ready for dev"
I do get a response to the event and I see output indicating the change in build quality. At the end of the message i see..

TfsDeployer.exe Information: 0 : Build Status Changed: MyTeamProject  Team Build Version: Deployer_20110630.1 From  : Ready for DevTfsDeployer.exe Information: 0 : Reading Configuration for Team Project: 

MyTeamProject: Deployer


But then nothing happens,

I look in the C:\Users\me\AppData\Local\Temp\3 and i so no indication that my powershell script was retrieved. I don't see the TFSDeployerConfiguration folder like I would expect.

I also did run the test-tfsdeployerinstall.ps1 with no problems there.

What am i missing?

Coordinator
Jun 30, 2011 at 11:19 PM

You refer to a "deploymentmappings.ps1" file but this file should have an xml extension.

Regards,

Jason

Jul 1, 2011 at 5:56 AM

Wish i could go back and edit my post. That was just a typo.. it is indeed deploymentmappings.xml which I mentioned a few lines above as well.

Jul 6, 2011 at 6:26 PM

I started over again on a new server. Same results. It see's the build quality change then displays Reading configuration for Team Project: But then does nothing... I had my coworker follow the instructions without my interference and he is getting same results. Has anyone actually got this thing to work because IMO its broken. Maybe it doesn't work on Server 2008 64 bit but that's the environment setup i need. Can someone confirm it does work on Server 2008 64 bit? 

Jul 6, 2011 at 7:05 PM

Hello, Gary,

I'm sorry to hear that TFS Deployer doesn't work yet for you. I installed 64bit Windows 2008 R2 standard and Enterprise during the testing at my work.

I think you can check also the Event Viewer on your server to see if there is any error telling you any clues.

Good luck.

Jul 7, 2011 at 10:37 PM

Finally figured it out after stepping through the source code. My build definition name did not match the BuildDefinitionPattern in the deploymentmappings.xml

 

<DeploymentMappings xmlns="http://www.readify.net/TfsDeployer/DeploymentMappings20100214">
  <Mapping BuildDefinitionPattern="DEV"
          Computer="server2008_64bit" OriginalQuality="*" 
          NewQuality="Ready for Dev" Script="Deploy.PS1"
 	  RunnerType="PowerShell"
          NotificationAddress="me@frustrated.com" />
 </DeploymentMappings>

Sure would have been nice if there was some output that said "No build definition name found matching $BuildDefinitionPattern"

Anyways, it's working like a champ now.