Skip to content

mohsenrezaeithe/teamcity-agent-manager

Repository files navigation

TeamCity Agent Manager

This is a rework of and extention to the AutoAuth plugin.

A TeamCity server plugin to automatically manager build agents on events captured by the server. This plugin helps automating the life cycle of build agents in the infrastructure, eliminating the need to manually authorize, unauthorize, and/or cleanup build agents. An appealing use case for this life cycle management would be the use of Cloud Profiles for automatically scaling agent pools based on workload.

NOTE: This plugin eliminates the need for manually authorizing, unauthorizing, and cleaning up TeamCity agents with the server, hence, it is important that this configuration is only used with a TeamCity server that is only exposed to trusted environments and agents.

Distribution

All distributions of this plugin can be found on the JetBrain's Plugin portal.

Build

Run ant dist to create a dist for using with a TeamCity server distribution. Requires teamcity.distribution and teamcity.data.directory path variables.

Agent Configuration

The following parameters can be used in the build agent configuration to test the functionality with the server:

  1. autoAuthorize=true for authorizing and unauthorizing agents on registration and unregistration events.
  2. autoManage=true for cleaning up agents in addition to authorization and unauthorization.

Server Configuration

In a testing environment:

  1. Upload AgentAutoAddRemove.zip to the TeamCity server plugin directory (or from the UI at AdministrationPlugins List).
  2. Reload or restart the TeamCity server.
  3. Add the right agent parameter to the configuration in $agentDir/conf/buildAgent.properties.
  4. Start the build agent.
  5. On registration with the server, the agent is authorized.
  6. On unregistration with the server, the agent is unauthorized or removed from the agent list.

About

TeamCity plugin for automatically managing agents on events

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages