tfsmsbuildcruisecontrol.netccnet-config

CruiseControl.NET Unable to find TF.exe and it was not defined in Executable Parameter


I have a machine with Win Server 2016 on which I have installed CruiseControl.NET 1.8.5.0. No error during installation.

This is the project configuration I am using:

  <project name="Mainbranch_Deploy" description="Mainbranch, deploy the latest version">
    <triggers />
    <sourcecontrol type="vsts" autoGetSource="true" applyLabel="false">
      <server>http://tfs.hac.net:8080/tfs/defaultcollection</server>
      <username>builder</username>
      <password>XXX</password>
      <domain>hac</domain>
      <project>$/Hac.Services/Hac.Services.UserDirectory/MainBranch</project>
      <workspace>MainBranch_Deploy</workspace>
      <workingDirectory>D:\Builds\MainBranch_Deploy</workingDirectory>
      <cleanCopy>false</cleanCopy>
      <deleteWorkspace>false</deleteWorkspace>
    </sourcecontrol>
    <state type="state" />
    <tasks>
      <msbuild>
        <workingDirectory>D:\Builds\MainBranch_Deploy\Hac.Services.UserDirectory\CC.NET VUDComplete</workingDirectory>
        <executable>C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe</executable>
        <projectFile>TFSBuild.proj</projectFile>
        <buildArgs>/tv:14.0 /property:BuildType=%CCNetRequestSource% /p:Configuration=Release /v:n</buildArgs>
        <targets>DeployVersion</targets>
        <timeout>6000</timeout>        
        <environment>
          <variable name="ArtifactsFolder" value = "CI" />
        </environment>
      </msbuild>
    </tasks>
    <publishers>
      <xmllogger />
      <artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" />
    </publishers>
  </project>

When I try to load the ccnet.config file in CCValidator.exe, I receive the following error: CruiseControl.NET Unable to find TF.exe and it was not defined in Executable Parameter

I have added this to PATH C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE, so not sure what am I missing.

When I run the server this is the input I get:

C:\Program Files (x86)\CruiseControl.NET\server>ccnet.exe
CruiseControl.NET Server 1.8.5.0 -- .NET Continuous Integration Server
Copyright c 2003 - 2014 ThoughtWorks Inc.  All Rights Reserved.
.NET Runtime Version: 2.0.50727.8745    Image Runtime Version: v2.0.50727
OS Version: Microsoft Windows NT 6.2.9200.0     Server locale: en-US

[1:DEBUG] The trace level is currently set to debug.  This will cause CCNet to log at the most verbose level, which is useful for setting up or debugging the server.  Once your server is running smoothly, we recommend changing this setting in C:\Program Files (x86)\CruiseControl.NET\server\ccnet.exe.Config to a lower level.
[1:WARN] ! ! Tracing is enabled ! !It allows you to sent the developpers of CCNet very detailed information of the program flow. This setting should only be enabled if you want to report a bug with the extra information. When bug reporting is done, it is advised to set the trace setting off. Adjust the setting in C:\Program Files (x86)\CruiseControl.NET\server\ccnet.exe.Config
[1:DEBUG] [FileChangedWatcher] Add config file 'ccnet.config' to file change watcher collection.
[CCNet Server:INFO] Reading configuration file "C:\Program Files (x86)\CruiseControl.NET\server\ccnet.config"
[CCNet Server:DEBUG] [FileChangedWatcher] Add config file 'C:\Program Files (x86)\CruiseControl.NET\server\ccnet.config' to file change watcher collection.
[CCNet Server:WARN] Configuration does not have any version information - assuming the configuration is for version 1.8
[CCNet Server:INFO] Log cache time set to 5 minutes
[CCNet Server:INFO] Registered channel: tcp
[CCNet Server:INFO] CruiseManager: Listening on url: tcp://10.3.3.136:21234/CruiseManager.rem
[CCNet Server:INFO] Registered channel: tcp
[CCNet Server:INFO] CruiseServerClient: Listening on url: tcp://10.3.3.136:21234/CruiseServerClient.rem
[CCNet Server:INFO] Starting CruiseControl.NET Server
[CCNet Server:INFO] Initialising security
[Mainbranch_Deploy:INFO] Starting integrator for project: Mainbranch_Deploy
[8:INFO] Disconnecting remote server:
[8:INFO] Unregistering channel: tcp
[8:INFO] Aborting CruiseControl.NET Server
[8:INFO] Aborting integrator for project: Mainbranch_Deploy
[8:INFO] WaitForExit requested for non stopping project 'Mainbranch_Deploy' - stopping project
[8:INFO] Stopping integrator for project: Mainbranch_Deploy
[Mainbranch_Deploy:INFO] Integrator for project: Mainbranch_Deploy is now stopped.

Any idea how to fix this?


Solution

  • It does not find it by default, that is true, but as CCValidator points out, adding the executable element will fix it. add following element in the source control block :

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\tf.exe

    than it will work