This issue occurs because of an error in the logic that decides which build is the next build. When the InProgress build is finished, the incorrect logic might start more than one gated submission on a definition.
If you made it here then the service should be running and configured, if you received an error connecting verify the localTfsBuild account is the same on both machines and that the passwords match, do not specify an alias for the TFS server use the real machine name and if a DNS lookup is not available make sure the name and IP address of the TFS server is defined in the local HOSTS file of the build server.
The other topological consideration is whether you should install build controllers and build agents on the same machine. This is a very valid topology and is especially useful in smaller environments (for example, the build controller has only a single agent) because it requires only one machine. If your build controller is going to manage multiple build agents, then it is recommended to be on its own machine.
The TEMP directory should be located on the same logical drive as the Team Build working directory. The get process is more efficient in this configuration because it can perform move rather than copy operations.
The only time you should consider installing a build controller, a build agent, or both on the same machine as Team Foundation Server is when building a virtual machine for demonstration or testing purposes where it is not practical to have a separate virtual machine acting as the build controller and agent.
Once a build controller has been installed, you can configure it either from Visual Studio on any computer (as described here) or from the Team Foundation Server Administration Console on the build controller itself.
The build agent installation process is quite similar to the build controller installation process, but because the majority of the build process is run on the build agent, the prerequisites are more complex.
You will need a domain account for the Team Build service to run if you choose not to use the NT AUTHORITY\NETWORK SERVICE account. This account can, and usually is, the same account used to run the build controller.
Important: To create XAML build definitions in Visual Studio 2015, you must have an XAML build controller installed and configured. To learn more, see the Continuous integration and deployment section in the MSDN library.
Build Service is a Windows Service that can only has one Build Controller, configured for only one Team Project Collection and has multiple Build Agents as needed, of course there is a workaround to have multiple Build Controller on the same machine but this is not recommended in production environment, for more info see, Configuring Multiple TFS Build Controller on the Same Machine.
The primary difference between running the Coded UI Test on the build server than a unit test is that the test requires full access to the UI. Having the build server require full access to the UI introduces a couple challenges including a couple additional requirements. First, the build server requires the application to be installed on the build server the same way it was installed when the test was recorded. The build server also requires a Visual Studio 2010 Test Agent running on it. It also needs to be configured to record video if required. Finally the build has to be configured to run the Coded UI Tests. The following steps walk through configuring these items.
After finding this out you may be a little disheartened if you run your build server on window though, as the installer for the TeamCity build agent only supports a single instance per server. With modern hardware, even the most minimal/shoved-in-a-back-cupboard/rebuilt-from-your-sisters-old-school-computer servers have more than enough resources to handle multiple build agent instances.
This has now setup the build controller to source custom assemblies from the configured repository folder. The most recent checked in assemblies will always be sourced. Therefore keeping this repository folder in sync with the custom activities used in build workflows is very important. 2b1af7f3a8