Build Agent API Changes
After our posts about TeamCity’s new multiple build steps (previously called “multiple build runners“) feature and further changes in .NET build runners, I believe that plugin developers might have some questions to be clarified.
So today, I’m going to shed some light on the major agent-side API changes that we’ve made to support multiple build steps. I hope this post will help you to painlessly improve your build runner plugins.
AgentRunningBuild interface no longer represents parameters for a build runner. We’ve introduced new interface
BuildRunnerContext that provides parameters for build runner. Starting with TeamCity 6.0
AgentRunningBuild will only describe a build.
Note that there is no getter for
AgentLifeCycleListener interface now provides
BuildRunnerContext in build step related methods.
runnerFinished event and updated almost all build-related events signatures to contain
BuildRunnerContext instances. So, in most cases one will not need to cache those instances in a plugin code.
So if you ask yourself, what to do to improve your build runner, the answer is simple. If your build runner is implemented by extending
CommandLineBuildService, you need to extend
BuildServiceAdapter abstract class. This class contains all getters for all parameters you may need in build runner implementation.
Of course, this post doesn’t cover all the details, but only gives general tips. So don’t hesitate to ask questions, I’ll be glad to answer.
Subscribe to Blog updates
Thanks, we've got you!
How To Choose a CI/CD Tool: A Framework
In this blog post, we offer general guidelines for selecting an appropriate CI/CD solution and delve into how TeamCity fits into this framework.
Increase Your Productivity With TeamCity Documentation Examples for the Kotlin DSL
Take advantage of extensive Kotlin DSL documentation for TeamCity - now with examples! Read more about how it might increase your productivity in this blog post.
Monitor Your TeamCity Builds with Datadog CI Visibility
Datadog now offers deep, end-to-end visibility into your TeamCity builds with the new TeamCity integration for CI Pipeline Visibility.