Top 10 TeamCity Plugins That Will Increase Your Productivity
Most serious dev teams use continuous integration (CI) servers to bring together code into a shared repository from different people, different machines and often different languages. TeamCity is a Java-based CI server from JetBrains that has been around for a decade now.
The free version (Professional) allows up to 20 build configs and three build agents. More build agents can be purchased separately, or you can upgrade to the Enterprise level for 100 or more build agents. If you're working on an open source, non-commercial project, it's possible to provide your core dev team with TeamCity for free.
Here are my top 10 plugins for TeamCity that can save hours of coding time and vast amounts of stress.
1. White SourceTracking and updating open source licenses can be tedious and stressful. The WhiteSource TeamCity plugin integrates to your TeamCity CI server and automatically identifies all open source components in your code within minutes. It does that automatically every time you run your build. It then provides you all relevant information on each component’s license, security vulnerability and quality issues.
The integration with TeamCity enables real time alerts on problematic components and updated reports at all times, including inventory, due diligence, security vulnerabilities and more.
Microsoft Azure Cloud plugin, and then using this plugin to generate all the start and stop messages you will need for virtual machines.
Like the Azure plugin above, the VMware vSphere Cloud plugin is for enterprise-level builds needing vSphere to TeamCity integration for cloud agents. You can start and stop virtual machines automatically based on demand.
5. Build Lights
In today’s world of information and sensory overload, it is challenging to raise above this noise threshold. In a professional software development environment where continuous integration is used to build quality software, it is vital to bring failed builds to the attention of the responsible developers as quickly as possible.
The Build Lights notification/visualizer plugin is an Arduino-based build notifier that sends a "light up" message when a build fails.
If you think it's likely that your TeamCity Administrator is getting sick of fulfilling 'reset password requests, the Password reset plugin for TeamCity can be a lifesaver. It adds a ‘password reset’ link to login screen and allows you to reset password without disturbing The TeamCity Administrator.
This plugin took the first price in this year TeamCity plugin contest.
Webhooks are everywhere, so this versatile plugin will definitely come in handy eventually. It sends JSON payloads to any registered HTTP listeners. The Webhooks plugin handles payloads that can contain build name, number, status, Git details (sha/repo/branch) and possibly artifacts URLs.
Meta runners allow us to reuse build steps by representing them as a native TeamCity runner, meaning to extract configured build steps into Meta-Runners and reuse them in other build configurations.
The Meta-Runner Power Pack plugin gives TeamCity a collection of customized meta-runners so you have a ready-built set of reusable build tasks. The one most people go to immediately is the PHP meta-runners for web-sites.
Commit Status Publisher TeamCity plugin to publish build details or a commit status to an external system such as GitHub, Atlassian Bitbucket Server (formerly Stash) or the Gerrit Code Review tool.
SummaryTeamCity is an extremely useful CI server, and these plugins can make dev teams much more productive. There are hundreds of plugins for most of the applications and services that your team is likely to call out to at some point.
TeamCity's creator JetBrains encourages you to create your own plugins, and offers some suggestions on their site. Use the above plugins to save time, keep track of licenses and go home happy.