ecs-task-deploy - Update an AWS ECS task definition with Docker image and trigger blue/green deployment

  •        7

A script to increment an active task definition on ECS with an updated Docker image, followed by a service update to use it. For all the container definitions found when looking up your defined image, you have the option to add or update environment variables for these.

https://github.com/mikestead/ecs-task-deploy

Dependencies:

aws-sdk : ^2.28.0
aws-sdk-promise : 0.0.2
chalk : ^1.1.3
commander : ^2.9.0

Tags
Implementation
License
Platform

   




Related Projects

ecs-deploy - Simple shell script for initiating blue-green deployments on Amazon EC2 Container Service (ECS)

  •    Shell

This script uses the Task Definition and Service entities in Amazon's ECS to instigate an automatic blue/green deployment. Remember that in the EC2 Container Service, the relationship between the group of containers which together provide a useful application (e.g. a database, web frontend, and perhaps some for maintenance/cron) is specified in a Task Definition. The Task Definition then acts a sort of template for actually running the containers in that group. That resulting group of containers is known as a Task. Due to the way docker implements networking, generally you can only run one Task per Task Definition per Container Instance (the virtual machines providing the cluster infrastructure).

ecs-deploy - CLI tool to simplify Amazon ECS deployments

  •    Python

ecs-deploy simplifies deployments on Amazon ECS by providing a convinience CLI tool for complex actions, which are executed pretty often. Alternatively you can pass the AWS credentials (via --access-key-id and --secret-access-key) or the AWS configuration profile (via --profile) as options when you run ecs.

ecs-blue-green-deployment - Reference architecture for doing blue green deployments on ECS.

  •    Python

This reference architecture is in reference to blog post on blue green deployments on ECS. It creates a continuous delivery by leveraging AWS CloudFormation templates. The templates creates resources using Amazon's Code* services to build and deploy containers onto an ECS cluster as long running services. It also includes a manual approval step facilitated by lambda function that discovers and swaps target group rules between 2 target groups, promoting the green version to production and demoting the blue version to staging. This example uses AWS Command Line Interface to run Step-3 below.

ecs-refarch-continuous-deployment - ECS Reference Architecture for creating a flexible and scalable deployment pipeline to Amazon ECS using AWS CodePipeline

  •    Shell

The ECS Continuous Deployment reference architecture demonstrates how to achieve continuous deployment of an application to Amazon Elastic Container Serivice (Amazon ECS) using AWS CodePipeline and AWS CodeBuild. With continuous deployment, software revisions are deployed to a production environment automatically without explicit approval from a developer, making the entire software release process automated.Fork the Amazon ECS sample app GitHub repository into your GitHub account.

mu - A full-stack DevOps on AWS framework

  •    Go

Amazon ECS (EC2 Container Service) provides an excellent platform for deploying microservices as containers. The challenge however is that there is a significant learning curve for microservice developers to deploy their applications in an efficient manner. Specifically, they must learn to use CloudFormation to orchestrate the management of ECS, ECR, EC2, ELB, VPC, and IAM resources. Additionally, tools like CodeBuild and CodePipeline must be mastered to create a continuous delivery pipeline for their microservices. To address these challenges, this tool was created to simplify the declaration and administration of the AWS resources necessary to support microservices. Similar to how the Serverless Framework improved the developer experience of Lambda and API Gateway, this tool makes it easier for developers to use ECS as a microservices platform.


ecs-refarch-cloudformation - A reference architecture for deploying containerized microservices with Amazon ECS and AWS CloudFormation (YAML)

  •    Makefile

This reference architecture provides a set of YAML templates for deploying microservices to Amazon EC2 Container Service (Amazon ECS) with AWS CloudFormation.Using CloudFormation to deploy and manage services with ECS has a number of nice benefits over more traditional methods (AWS CLI, scripting, etc.).

ecs-refarch-cloudformation - A reference architecture for deploying containerized microservices with Amazon ECS and AWS CloudFormation (YAML)

  •    Makefile

This reference architecture provides a set of YAML templates for deploying microservices to Amazon EC2 Container Service (Amazon ECS) with AWS CloudFormation. Using CloudFormation to deploy and manage services with ECS has a number of nice benefits over more traditional methods (AWS CLI, scripting, etc.).

Convox Rack - Open-source PaaS, Built entirely on AWS cloud services for maximum privacy and minimum upkeep

  •    Go

Convox Rack is open source PaaS built on top of expert infrastructure automation and devops best practices. Rack gives you a simple developer-focused API that lets you build, deploy, scale and manage apps on private infrastructure with ease.

amazon-ecs-cli - A custom Amazon ECS CLI that eases up the cluster setup process, enables users to run their applications locally or on ECS using the same Docker Compose file format and familiar Compose commands

  •    Go

The Amazon ECS Command Line Interface (CLI) is a command line interface for Amazon EC2 Container Service (Amazon ECS) that provides high-level commands to simplify creating, updating, and monitoring clusters and tasks from a local development environment. The Amazon ECS CLI supports Docker Compose, a popular open-source tool for defining and running multi-container applications. Use the CLI as part of your everyday development and testing cycle as an alternative to the AWS Management Console.For more information about Amazon ECS, see the Amazon ECS Developer Guide. For information about installing and using the Amazon ECS CLI, see the ECS Command Line Interface.

terraform-ecs - AWS ECS terraform module

  •    HCL

This repository contains the Terraform modules for creating a production ready ECS in AWS. To understand ECS it is good to state the obvious differences against the competitors like Kubernetes or DC/OS Mesos. The mayor differences are that ECS can not be run on-prem and that it lacks advanced features. These two differences can either been seen as weakness or as strengths.

Empire - A PaaS built on top of Amazon EC2 Container Service (ECS)

  •    Go

Empire is a control layer on top of Amazon EC2 Container Service (ECS) that provides a Heroku like workflow. It conforms to a subset of the Heroku Platform API, which means you can use the same tools and processes that you use with Heroku, but with all the power of EC2 and Docker. Empire is targeted at small to medium sized startups that are running a large number of microservices and need more flexibility than what Heroku provides.

awesome-ecs - A curated list of awesome ECS guides, development tools, and resources

  •    

A curated list of guides, development tools, and resources for Amazon Elastic Container Service (ECS). This list includes both community created content as well as content created by AWS.

blox - Open source tools for building custom schedulers on Amazon ECS

  •    Java

Blox provides open source schedulers optimized for running applications on Amazon ECS. Developers now have greater control over how their applications are deployed across clusters of resources, run and scale in production, and can take advantage of powerful placement capabilities of Amazon ECS. Blox is being delivered as a managed service via the Amazon ECS Console, API and CLIs. Blox v1.0 provides daemon scheduling for Amazon ECS. We will continue to add additional schedulers as part of this project. Blox schedulers are built using AWS primitives, and the Blox designs and code are open source. If you are interested in learning more or collaborating on the designs, please read the design. If you are currently using Blox v0.3, please read the FAQ. This will run the same tests that we run in the Travis CI build.

infrastructure-as-code-talk - Sample code for the talk "Infrastructure-as-code: running microservices on AWS with Docker, ECS, and Terraform"

  •    HCL

Note: This repo is for demonstration purposes only and should NOT be used to run anything important. For production-ready version of this code and many other types of infrastructure, check out Gruntwork. The docker-compose.yml file mounts rails-frontend and sinatra-backend folders as volumes in each Docker image, so any changes you make to the apps on your host OS will automatically be reflected in the running Docker container. This lets you do iterative "make-a-change-and-refresh" style development.

longshoreman - Automated deployment with Docker.

  •    Javascript

Longshoreman automates application deployment using Docker. Just create a Docker repository (or use a service), configure the cluster using AWS or Digital Ocean (or whatever you like) and deploy applications using a Heroku-like CLI tool.We created Longshoreman because we love using Docker but were frustrated with the lack of production-ready deployment options that were available at the time. We looked closely at Deis, Flynn, Dokku and others, but they either did not meet our requirements or were explicitly marked as not ready for production. We were extremely impressed by Deis in particular and its use of bleeding edge technologies like CoreOS, etcd and systemd. The biggest shortcoming we found with Deis is that it rebuilds Dockerfiles from scratch for each deploy (as far as I know).

Spinnaker - Global Continuous Delivery

  •    Python

Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. It helps codify the process of safely and reliably deploying artifacts to the cloud. It can deploy across multiple cloud providers: AWS EC2, Google Compute Engine, Microsoft Azure, OpenStack and Cloud Foundry.

claudia - Deploy Node.js projects to AWS Lambda and API Gateway easily

  •    Javascript

Claudia makes it easy to deploy Node.js projects to AWS Lambda and API Gateway. It automates all the error-prone deployment and configuration tasks, and sets everything up the way JavaScript developers expect out of the box. This means that you can get started with Lambda and API Gateway easily, and focus on solving important business problems instead of dealing with AWS deployment workflows. Check out this video to see how to create and deploy a microservice in under 5 minutes. With the help of Claudia builder projects, you can also use API Gateway as if it were a lightweight javascript web server, or create and deploy chat bots for various platforms easily.

containers-roadmap - This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS)

  •    

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS). This is the experimental public roadmap for AWS Container services. Knowing about our upcoming products and priorities helps our customers plan. This repository contains information about what we are working on and allows all AWS customers to give direct feedback.

lambdaws - Deploy, run and get results from Amazon AWS Lambda in a breeze

  •    Javascript

Using Amazon's Lambda Service, Lambdaws cloudifies any JavaScript function — including existing libraries — with no extra code. It removes the friction you get when using AWS Lambda directly. The goal of Lambdaws is to make it trivial to build highly scalable, highly available applications. λ takes an inline asynchronous function and deploy it to AWS Lambda. If you call cloudedCalculator it will run in the cloud.

amazon-ecs-agent - Amazon EC2 Container Service Agent

  •    Go

The Amazon ECS Container Agent is software developed for Amazon EC2 Container Service (Amazon ECS).It runs on container instances and starts containers on behalf of Amazon ECS.