JetbrainsDmitrii KorovinAnnouncement
Introducing Warm Agents, a TeamCity Plugin
Summary
The Warm Agents plugin for TeamCity reduces build queue time by maintaining a target number of idle, pre-started cloud agents, addressing the delay when builds wait for a starting agent. When idle agents drop below the target, TeamCity automatically provisions a new instance from the cloud image, ensuring builds start immediately; instances start in batches with short delays. The plugin works with any cloud provider TeamCity supports, requires TeamCity 2024.12.3 or later, and respects the cloud image’s hard limit on total running agents. Administrators configure warm agents via REST API calls, setting a target count per cloud image, and can schedule target changes using build triggers to scale down overnight and restore in the morning. The plugin trades cost for latency, as each idle agent consumes a build license and cloud instance cost, and exposes utilization and saturation metrics in Prometheus format.
Approach / What changed
Maintain a target count of idle, pre-started agents for a given cloud image; TeamCity provisions new instances when the number of idle agents drops below the target. Configured via REST API calls setting a target per cloud image. Works with any cloud provider TeamCity supports.
Takeaways
The Warm Agents plugin reduces build queue time by keeping a target number of idle agents pre-started, so builds start immediately without waiting for instance spin-up.
Each idle warm agent consumes a build agent license and incurs cloud instance cost, trading cost for latency; administrators must budget for this.
The plugin exposes utilization and saturation metrics per cloud image in Prometheus format, and supports scheduling target changes via build triggers to scale down overnight.
FAQ
How do I configure warm agents?
Use REST API calls to set a target count per cloud image, e.g., teamcity api '/app/.../warmAgents?target=10' -X PUT. Alternatively, navigate to Project Settings | Integrations | Warm Agents.
What happens when I change the target?
TeamCity adjusts by launching more or fewer agents, but never forcibly stops running instances. The idle timeout of the cloud image still applies.
Can I schedule warm agent targets?
Yes, use build triggers with schedule triggers to set target values at specific times, e.g., scale up in the morning and down overnight.
Source and freshness
- Source
- blog.jetbrains.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.