Is your favorite VCS, unit testing framework, etc. missing from the TeamCity Compatibility Chart? Don't despair: chances are that you can still enjoy using TeamCity with the addition of a plugin. It could be a third-party plugin, or even a JetBrains' own plugin not bundled with TeamCity by default.
Over 100 ready to use plugins are available.
Featured TeamCity plugins
TeamCity Azure integration allows configuring TeamCity with
your Azure account and then to automatically
create/start/stop/delete virtual machines
with TeamCity agents on-demand, based on the queued builds
TeamCity vSphere integration allows using TeamCity cloud agent features with VMWare vSphere and vCenter installation. Similar to TeamCity integration with Amazon EC2 and Microsoft Azure this plugin automatically starts and stops virtual machines with TeamCity agents based on the current demand.
Downloads large build artifacts via the BitTorrent protocol.
- Turns TeamCity into a torrent tracker for all published artifacts above a certain size (10Mb by default).
- The artifacts are seeded by the server and by the agent which produced or downloaded the artifact.
- Both users and agents can use the BitTorrent protocol to download artifacts not only from the server, but from the other seeders too, be it agents or other users.
A collection of custom runners (meta-runners) for TeamCity. A meta-runner is a reusable set of build tasks/jobs pre-configured and extracted into a separate custom build runner, which makes it easy to perform operations not supported by TeamCity out-of-the-box. For example, PHP Meta-Runners from Meta-Runner power pack make you feel as if these runners are native to TeamCity.
TeamCity supports JIRA out of the box: the built-in integration allows viewing JIRA issue details in the TeamCity interface.
To see TeamCity-related information in JIRA, use the TeamCity Integration for JIRA plugin and instantly view detailed information about commits and builds in the JIRA interface.
Installing new plugins in TeamCity is really simple:
- Shut down TeamCity server.
- Copy the zip archive with the plugin to <TeamCity Data Directory>/plugins.
- Start the TeamCity server: the plugin files will be unpacked and processed automatically.
Enjoy your new functionality within TeamCity!
Developing TeamCity plugins
TeamCity functionality can be extended in a number of ways. You can make declarative changes using bits of XML, which provide additional information about your builds, or you can write a real TeamCity plugin using the comprehensive OpenAPI. Using the latter, you can develop integration with version control systems, issue tracking systems, build tools, testing frameworks, IDEs, notification programs, etc.
Some TeamCity plugins, including FxCop, Eclipse, Rake runner, and ClearCase VCS support plugin, are open source and could make an excellent start for your own plugins.