circleci-demo-aws-ecs-ecr - A demo project for deployment to AWS ECS from ECR on CircleCI 2.0.

  •        26

This project provides an example of how to use orbs to conveniently build a Docker image on CircleCI, push the Docker image to an Amazon Elastic Container Registry (ECR), and then deploy to Amazon Elastic Container Service (ECS) using AWS Fargate. Specifically, the aws-ecr and the aws-ecs Orbs will be used in this project. Builds of this project rely on AWS resources to be present in order to succeed. For convenience, the prerequisite AWS resources may be created using the terraform scripts procided in the terraform_setup directory.

https://circleci.com/gh/CircleCI-Public/circleci-demo-aws-ecs-ecr
https://github.com/CircleCI-Public/circleci-demo-aws-ecs-ecr

Tags
Implementation
License
Platform

   




Related Projects

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.

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-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.

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.

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.


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.

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.).

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.

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.

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.

circleci-docs - Documentation for CircleCI.

  •    HTML

This is the public repository for https://circleci.com/docs/, a static website generated by Jekyll. If you find any errors in our docs or have suggestions, please follow our Contributing Guide to submit an issue or pull request. For minor changes like typos, you can click Suggest an edit to this page, located at the bottom of each article. This will take you to the source file on GitHub, where you can submit a pull request for your change through the UI.

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.

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.

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.

stack - A set of Terraform modules for configuring production infrastructure with AWS

  •    HCL

The Segment Stack is a set of Terraform modules for configuring production infrastructure with AWS, Docker, and ECS. It's a more 'curated' set of defaults for configuring your AWS environment, while still allowing you to fully customize it. To get more background on the Segment Stack you can read this blog post about its history.

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).

django-react-boilerplate - Django, React, Bootstrap 4 with Python 3 and webpack project boilerplate

  •    Python

For continuous integration, a CircleCI configuration .circleci/config.yml is included. This is a good starting point for modern Python/JavaScript web projects.