
The TeamCity tray notifier can now talk to more than one instance of TeamCity (though I haven’t tried it myself), so this would be one option if you have the hardware available.

Beyond the frustration, this causes a very real and negative impact on your productivity. If you were to check in one of these small sites, hoping to quickly see the build server turn green, you would be rather frustrated if your timing were poor and you had to wait 10 minutes for a larger project that was unrelated to your project to finish its build. Let’s further assume that some of these build configurations do a lot of stuff, and thus might take 10 minutes or more to run, while others are for relatively small projects or web sites that might take 30 seconds or less to run. Let’s say you have several large projects and you want them to run on the same instance of TeamCity. I do miss CCTray, which I found to be much nicer than the TeamCity tray notifier (which if you click on it never shows anything immediately – it has to go and get it which imposes a delay – it also doesn’t do sounds like CCTray does – but I digress). Before TeamCity, I was using, and TeamCity is much easier to get working (and requires far less XML manipulation). In TeamCity verify that you can see the agents and that they are compatible with the build configurations.We’re using TeamCity to manage our continous integration builds for and. You might have to restart the TeamCity service for the changes to take affect (but shouldn’t be necessary). Start by uninstalling if the agent is already running, then install, register and start the agent service. The bat files that does that are found here: Once you have set the properties you got to install, register and start the service. This is set here: C:\TeamCity\buildAgent1\launcher\conf\nf This is set here: C:\TeamCity\buildAgent1\conf\buildAgent.propertiesĪnd for the service running the agent a new:
#TEAMCITY BUILD WINDOWS#
Set a new path for the build agent, as well as a new port.įor example, we use: C:\TeamCity\buildAgent1 and C:\TeamCity\buildAgent2īefore we register and start the build agent as a Windows service we need to set some properties- as they all get the same defaults which means that you will only override an existing agent if you don’t.The push to Octopus is only made when and if all the prior builds are successful.Īdding several agents can be a bit tricky (unless somebody has a secret trick), here are the steps: What we have done now is change the build chain and installed more agents, and the client and backend services build steps are run in parallel as the client and backend services and tests are independent of each other. And as we only used one it could just run them sequentially, and that would take a fair bit of time. VCS trigger => Build backend => run tests => build client => run tests => push to OctopusĪ build agent is what runs the build steps. This is how the chain looked like (simplified): At the end, we would push the deployment NuGet packages to out deployment service, Octopus. If everything passed we would build the client, and if all that was good run the client tests.

If everything went well we would proceed with running our unit tests and integration tests (as a separate build configuration- just think of that as a way of grouping related jobs). The things we would do was set the version number, compile the libraries, create deployment packages. On change in the repo (or if triggered manually) we would start the build configuration for our backend services. The process is what we refer to as a build configuration(s), and each contains a set of build steps. This service listens for changes in our GitHub repository and starts some processes when we check in changes. What a build agent is? Well, on our build machine we run an integration service called TeamCity. Some notes for my colleagues for when I’m not around to manage the pipeline.įor various reasons, mostly lack of time, we have been using just one build agent on our build machine.
