/teamcity-amazon-ecs-plugin

TeamCity plugin which allows to run build agents on top of AWS ECS cluster.

Primary LanguageKotlinApache License 2.0Apache-2.0

TeamCity Amazon ECS plugin

official JetBrains project plugin status

TeamCity plugin which allows running build agents on an AWS ECS cluster.

Compatibility

The plugin is compatible with TeamCity 2017.1.x and later.

Installation

You can download the plugin and install it as an additional TeamCity plugin.

Plugin Configuration

Configure Amazon ECS Cloud Profile for your project in the Server Administration UI.

The plugin supports Amazon ECS cluster images to start new tasks with a TeamCity build agent running in one of the containers. The plugin supports the official TeamCity Build Agent Docker image out of the box. You can use your own image as well.

Limit Cluster Resources Usage

Specify ECS cloud image advanced setting 'Max cluster CPU reservation' to stop creating new TeamCity cloud instances when cluster is overloaded. This requires additional permission granted to AWS user: cloudwatch:GetMetricStatistics

Proxy Settings

Use global server proxy settings.

Or set plugin specific internal properties

  • teamcity.ecs.https.proxyHost
  • teamcity.ecs.https.proxyPort
  • teamcity.ecs.https.proxyLogin
  • teamcity.ecs.https.proxyPassword

Required IAM Role

Allow following actions to AIM role you use in cloud profile.

  • ecs:DescribeClusters
  • ecs:DescribeTaskDefinition
  • ecs:DescribeTasks
  • ecs:ListClusters
  • ecs:ListTaskDefinitions
  • ecs:ListTasks
  • ecs:RunTask
  • ecs:StopTask
  • (optional) cloudwatch:GetMetricStatistics

ECS Cluster Setup

Optionaly use provided Terraform template to setup ECS cluster.

License

Apache 2.0

Feedback

Please feel free to post feedback in the repository issues.