Why do you care about all the above? You care because they unlock the ability to install more than one agent at a time! This includes all the build runners and source control modules.Ĭontains build task temporary files (actual build run tasks – not artefacts of checked out filesĬontains configuration that points at the storage locations of currently running builds (in a file called directory.map). The bin folder of this actually has all versions of the service not just the Windows one (Solaris, Mac etc)Ĭontains all the Build agents plugins. Below is a screenshot of the Build Agent’s root folder:Ī quick break down of the folders you’ll want to know about (some of the information below are conclusions made based on digging around, others are from information found on the interwebs):Ĭontains all the service control batch files (start service, stop service, install service etc etc)Ĭontains all the agent’s configuration files/details such as the agents name, its listening port and the address of it’s server.Ĭontains all the service’s application files. The Windows installation of TeamCity’s build agent is quite modular. It then contacts it’s nominated TeamCity server (again stored in the above config file), and registers as a build agent (the default name for this agent is the hostname of the server it is installed on). The build agent on start up opens a listening port as defined in a configuration file (located at /conf/buildAgent.properties) The default port for this is 9090. TeamCity’s build agent is a single EXE file that runs as a service (it is located at /launcher/bin/TeamCityAgentService-windows-x86-32.exe). There is a solution though, so “ Cheer up Emo Kid ” – You can install multiple TeamCity Build Agents on a single Windows installation. 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.įor non-Windows installations, running multiple build agents on a single machine is quite simple, and JetBrains lists how to do it – the Windows section of this how to relies on you not using an installer though. This means that even with the FREE version, you can take over the world with your CI awesomeness!Īfter 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. JetBrains in their usual fashion have made the licensing for TeamCity simple and easy to understand when it comes to additional build agents – at the time this article was written, both FREE Professional version and the Enterprise version allow for 3 build agents included in their licenses. The answer is to have multiple build agents so that you can run more than one build at a time. So what is the solution? It’s quite simple: Our team members will be working on any number of different projects at the same time, and as a result we have multiple projects deploying as part of our Continuous Delivery setup all the time and often at the same time – this can lead to a little friction, as developers can be forced to wait for their project to make it to the front of the build queue. So much so that my workplace’s love for CI and CD has meant that we have over 100 build configurations on our TeamCity server. If you have read my posts on CI in the past, you’ll know that Continuous Integration and Continuous Delivery are both something i am very passionate in my support of. Our staging environments auto deploy on check-in and our live environments have only ever been deployed to by our build server not direct from a users machine (they are executed manually) – this way our team always know that deployment day is a walk in the park, and there is no stress or tension when deploying a new feature. TeamCity is one of the greatest tools to hit the Continuous Integration world, with free licensing for 20 build configurations and an easy to use interface it ticks all the right boxes (not to mention ease of use for Windows Users) – but once you splash out on an Enterprise license and grow your installation to house many build configurations you start to want more power, and this is when a second build agent is your ticket to freedom.Īt my workplace all projects that we develop require compulsory continuous delivery.
0 Comments
Leave a Reply. |