What is TeamCity?

TeamCity is a Jetbrains product. Launched in 2006, TeamCity is a Java-based Build Management, Continuous Integration and Continuous Deployment server. It is useful to pay particular attention to the expression of “server”. We are talking about an environment enriched with configurations and add-ons that center the Agents, which we will frequently underline later in the article. There are lots of details on the Jetbrains official website about the TeamCity. We will briefly summarize the important points in the introduction.

Teamcity_Logo

How to Get TeamCity?

You can start using this application with three different methods. The first is to download the installation file via the website and install it on your local computer. The second method is to run a test drive on the Cloud (valid for 60 days). The third method, what we think is the ideal method for test driving, is the Docker. It is worth mentioning that you can use TeamCity on both Windows and Linux distributions.

How is TeamCity Licensed?

Jetbrains has chosen two basic licensing methods for TeamCity. The first of these;

Professional Server License; Up to 100 build configurations and 3 agents are offered free of charge. It should be appreciated that they do not restrict any feature of the application. Since you do not have a special mail account when you need any support, you have no alternative but to get help from forums and issue trackers. Our comment is that Teamcity is the perfect fit for a startup or a freelance developer. Even medium and large-scale companies that have been living for a long time with a few monolithic applications can use it without any problems.

Enterprise Server License, as the name implies, is a very advanced licensing method. With this license, which provides unlimited build configurations, you can have your own support account. The pricing here is completely proportioned to the number of agents. The base price is $ 1,999.00. 3 agents are available. You can reach the agent prices between 3 and 100 on the official site. If you need more than 100 agents, you can request a special fee from the vendor. They also provide free upgrades for 1 year.

What if you have a Professional Server License but want to use 4 agents?  In this case, the sub-license called Build Agent License is available. With this license, which is priced at $299, you can have one more agent and ten more build configuration rights.

In the part two of this article, we will be giving information about the features of TeamCity and how to use it. Stay tuned!

Features of TeamCity

teamcity-licencing

TeamCity has a very easy-to-use, developer-friendly interface. When you start tuning, it guides you so correctly that it is really hard to understand that the tuning is finished and the build starts. It has direct integration with many VCS such as Github, Bitbucket, TFS, SVN. So, there is no need to worry about wasting time on how to connect our vehicle and code repo. Dozens of plugins are ready to use, which carry out tasks such as management of code quality, test tools, build tools, package managers, upload methods and shell commands.

TeamCity has no technology addiction. Therefore, agents that package Linux systems and agents that transfer to your Windows servers can work together. You can keep packages historically and manage your versions as you wish. Thus, the fear of “returning to the previous package in a safe way” is not a problem anymore. Apart from ready-made plug-ins, you can use plug-ins produced by developers and supported by Jetbrains. Also, you can easily write your own plug-ins and include them in your processes.

Working with many Continuous Delivery tools, TeamCity can also easily send the packages prepared in the tools to integrated packages. To give an example from our own processes, we use Octopus for CD and we pass this process quite smoothly with Octopus plugin of TeamCity. You can also run your automations and prepare your packages with a few simple steps. We can illustrate the simplicity as below.

Steps for preparing the package of one of our projects to go live;

1. Start assessing code quality
2. Build the main project
3. Finish assessing the code quality and report (In this step, if there is a situation that exceeds 4. the predefined rules, the build is breaking)
5. Build the test project
6. Run unit tests (NUnit) and calculate code coverage.
7. Send the result package to Octopus