YAML snippet # Batch script# Run a Windows command or batch script and optionally allow it to change the environment- task: BatchScript@1inputs:filename:#arguments: # Optional#modifyEnvironment: False # Optional#workingFolder: # Optional#failOnStandardError: false # OptionalArguments ArgumentDescriptionPathSpecify the path to the.bat or.cmd script you want to run. The path must be a fully qualified path or a valid path relative to the default working directory.In Team Foundation Build, this directory is.ArgumentsSpecify arguments to pass to the script.Modify environmentSelect this check box if you want stage variable modifications in the script to affect subsequent tasks.AdvancedWorking folderSpecify the working directory in which you want to run the script.
While Microsoft doesn't officially support a multi-controller scenario for Team Foundation Server (TFS), sometimes it is a necessity. Especially when you have multiple Team Project Collections and are left holding one build controller.The following steps will allow you to build additional controllers and manage them, in TFS 2012. As always, I recommend doing a snapshot or backup of your server prior to making high-level changes such as this. First, open a Command Prompt window ( as an Administrator). From the Windows 2012 Server screen right-click and go to All apps. Under the Windows System category right-click on Command Prompt and select the option to Run as administrator. In the Administrator: Command Prompt window, type in the following command.Note: You need to replace the service name with your build controller's service name.
Execute Batch File After Tfs Build Controller 2017
Also, you need to replace the display name as well with something that makes sense for you. I've included some best practice examples for you. 'BuildService-TeamProjectCollectionName' and for the Display Name you would enter 'Visual Studio Team Foundation Build Service Host (TeamProjectCollectionName)' for example. Make sure to remove the placeholder brackets and to keep spacing as it is below. Or this will not work.sc.exe create service name binpath= 'C:Program FilesMicrosoft Team Foundation Server 11.0ToolsTFSBuildServiceHost.exe /NamedInstance: service name' DisplayName= ' display name'. Hit your Enter key. You should get a message that SC CreateService SUCCESS. Otherwise, review the command above to rule out any errors or mistakes in keying.
Now you need to register the controller and agents via the Team Foundation Server Administration Console. However, if you open the console via your icon you will only see your original build controller.There is an easier way. Create a batch file (.BAT) on your desktop.
Add the following code to it, modifying where appropriate and without the placeholder brackets ::: Set the service host environment variableset TFSBUILDSERVICEHOST.2012= service name:: Open the Team Foundation Server Administration Console'C:Program FilesMicrosoft Team Foundation Server 11.0Toolstfsmgmt.exe'. Run the batch file.
This should open a TFS Admin Console window where the new build controller is accessible. On the Build Configuration screen click on the Register link. This process is similar to that.
Your registration properties should be left pretty much alone. The only exception here is the Display Name. Best practice is to call it your Default Controller - YourServiceName. In some cases there may be a conflict between your controller URI and the original controller ( they both may try to use the same address / port).
Give it a few minutes and if an error appears on the screen via do the following:. Register a build controller + agent as explained. Then unregister the build controller service. Re-register the build controller service. After which, modify the URL to use a different port. Register your build controller + agent as you normally would.That's it.
You should now have two or more build controllers that won't conflict with one another. And, you can use that batch (.BAT) to get back in to manage your build controller / agents as needed.Good luck and I hope this helps.