Now that TFS Integrator has been released here are the upgrade instructions.    The quickest way to upgrade to TFS Integrator is to do the following:

 

  1. Grab this zip file.  In it are 2 files.   TFSIntegrator.exe and Readify.TeamFoundation.Common.dll
  2. Stop your TFSIntegrator Service.
  3. Backup you existing TFSInstallation, especially the ContinuousIntegration.xml and DependencyReplication.xml
  4. Extract the files and copy them over the top of your existing installation. (Gota love XCopy deployment)
  5. Once the files have been copied across you can restart the service.
  6. Grab your ContinousIntegration.xml file and check it into the root of the TeamBuildTypes folder of every team project hat you have setup for ContinuousIntegration.

    For example if you have the following config file

    <ContinuousIntegration xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://schemas.readify.net/tfsintegrator/continuousintegration/20060712″>
    <TeamProject TeamProject=”SystemA”>
    <Build ChangedPath=”$/SystemA” BuildType=”SystemAContinuous” Sleep=”60″ BuildMachine=”BUILDSERVER”/>
    </TeamProject>
    <TeamProject TeamProject=”SystemB”>
    <Build ChangedPath=”$/SystemB” BuildType=”SampleTeamProjectBContinuous” Sleep=”60″ BuildMachine=”BUILDSERVER”/>
    </TeamProject>
    </ContinuousIntegration>

    You will need to check in ContinuousIntegration.xml into  $/SystemA/TeamBuildTypes and $/SystemB/TeamBuildTypes.

  7. Grab your dependencyreplication.xml file and check it into every $/<TeamProject>/TeamBuildType/<TeamBuild> from which you wish to replicate files.

    For example if you have the following configuration file:

    <?xml version=”1.0″ encoding=”utf-16″?>
    <DependencyReplication xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://schemas.readify.net/tfsintegrator/dependencyreplication/20060725″>
    <TeamProject TeamProject=”SystemB” RootFolder=”$/SystemB”>
    <Dependency TeamProject=”SystemA” BuildType=”SystemAContinuous” >
    <File Source=”Release/Output1.dll” Destination=”$/SystemB/SystemB/Dependencies/Output1.dll” />
    <File Source=”Release/Output2.dll” Destination=”$/SystemB/SystemB/Dependencies/Output2.dll” />
    </Dependency>
    </TeamProject>
    <TeamProject TeamProject=”SystemC” RootFolder=”$/SystemC”>
    <Dependency TeamProject=”SystemB” BuildType=”SystemBContinuous” >
    <File Source=”Release/OutputB1.dll” Destination=”$/SystemC/SystemC/Dependencies/Output1.dll” />
    <File Source=”Release/OutputB2.dll” Destination=”$/SystemC/SystemC/Dependencies/Output2.dll” />
    </Dependency>
    </TeamProject>
    </DependencyReplication>

    You will need to check in the DependencyReplication.xml into $/SystemA/TeamBuildTypes/SystemAContinuous and to $/SystemB/TeamBuildTypes/SystemBContinuous

  8. Once you have verified that TFSIntegrator is still working as expected you can go back and tidy up the configuration files. 

    Using the example above $/SystemA/TeamBuildTypes/continuousintegration.xml could be refactored to look like:

    <ContinuousIntegration xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://schemas.readify.net/tfsintegrator/continuousintegration/20060712″>
    <TeamProject TeamProject=”SystemA”>
    <Build ChangedPath=”$/SystemA” BuildType=”SystemAContinuous” Sleep=”60″ BuildMachine=”BUILDSERVER”/>
    </TeamProject>
    </ContinuousIntegration>

    And $/SystemA/TeamBuildTypes/SystemAContinuous/dependencyreplication.xml could be refactored to look like:

    <?xml version=”1.0″ encoding=”utf-16″?>
    <DependencyReplication xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://schemas.readify.net/tfsintegrator/dependencyreplication/20060725″>
    <TeamProject TeamProject=”SystemB” RootFolder=”$/SystemB”>
    <Dependency TeamProject=”SystemA” BuildType=”SystemAContinuous” >
    <File Source=”Release/Output1.dll” Destination=”$/SystemB/SystemB/Dependencies/Output1.dll” />
    <File Source=”Release/Output2.dll” Destination=”$/SystemB/SystemB/Dependencies/Output2.dll” />
    </Dependency>
    </TeamProject>
    </DependencyReplication>

  9. And that is it your are all done!
Advertisements