A Buildkite plugin for deploying to Amazon ECS.
- Requires the aws cli tool be installed
- Registers a new task definition based on a given JSON file (
register-task-definition
) - Updates the ECS service to use the new task definition (
update-service
) - Waits for the service to stabilize (
wait services-stable
)
The ECS service must have been created before using this plugin.
steps:
- label: ":ecs: :rocket:"
concurrency_group: "my-service-deploy"
concurrency: 1
plugins:
ecs-deploy#v0.0.1:
cluster: "my-ecs-cluster"
service: "my-service"
task-definition: "examples/hello-world.json"
task-family: "hello-world"
image: "${ECR_REPOSITORY}/hello-world:${BUILDKITE_BUILD_NUMBER}"
The name of the ECS cluster.
Example: "my-cluster"
The name of the ECS service.
Example: "my-service"
The file path to the ECS task definition JSON file.
Example: "ecs/task.json"
The name of the task family.
Example: "my-task"
The Docker image to deploy.
Example: "012345.dkr.ecr.us-east-1.amazonaws.com/my-service:123"
Requires the following AWS roles to be granted to the agent running this step:
- TODO
To run the tests:
docker-compose run tests
MIT (see LICENSE)