ecsdeploy

command module
v0.0.0-...-4937664 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2018 License: Apache-2.0 Imports: 13 Imported by: 0

README

ecsdeploy

Ownership of this project has been transferred to https://github.com/button/ecsdeploy

There are already a few deploy tools for ECS out there, but none offer deploy progress reporting for chatops or dashboards. ecsdeploy is built as an easily deployable binary that can be fit into any deployment pipeline, but can also be used a library to embed directly into your team's deploy tool.

ecsdeploy can report deploy progress

  • As a progress bar to Slack
  • As number of running/pending/stopped tasks as a webhook
  • As an annotation to Grafana

Deploy status reporters to additional targets are easy to add by implementing a simple interface.

Not only that, it also has "smart" monitoring of deploys, and can determine deploy failures due to resource constraints and task failures early.

usage: ecsdeploy [<flags>] <cluster> <service>


Flags:
  --help                         Show context-sensitive help.
  --timeout=10m                  How long to wait for the deploy to complete
  --report-addr=REPORT-ADDR      URL address to report deploy status changes to
  --report-auth-token=REPORT-AUTH-TOKEN
                                 Auth token to use for reporting deploy status via HTTP. Appears on the HTTP request as
                                 an "Authorization: Bearer <...>" header
  --slack-token=SLACK-TOKEN      Auth token to use for reporting deploy status to Slack
  --slack-channel=SLACK-CHANNEL  Slack channel to post deploy status to
  --grafana-url=GRAFANA-URL      URL to a Grafana server to send annotations to
  --grafana-api-token=GRAFANA-API-TOKEN
                                 API token for the Grafana server
  --task-definition=TASK-DEFINITION
                                 Location of a task definition file to deploy. If not specified, creates a new task
                                 definition based off the currently deployed one. If "-" is specified, reads stdin.
  --desired-count=-1             Desired number of tasks
  --max-percent=-1               The upper limit (as a percentage of the service's desiredCount) of the number of tasks
                                 that are allowed in the RUNNING or PENDING state in a service during a deployment.
  --min-percent=-1               The lower limit (as a percentage of the service's desiredCount) of the number of
                                 running tasks that must remain in the RUNNING state in a service during.
  --tag=TAG ...                  Overrides the docker image tag for a container definition, written as --tag
                                 <container_name>=<image_tag>. If there is only one container definition, the
                                 <container_name>= prefix can be omitted. This flag can be specified multiple times to
                                 update tags for multiple containers
  --detect-failures              Enable to detect deploy failures early. Failures can include: cluster not having enough
                                 cpu/memory, image to deploy does not exist, or service is in crash loop.

Args:
  <cluster>  Cluster to deploy to
  <service>  Name of service to deploy

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL