Answers: <p>The question is a bit broad, but here are some suggestions to accomplish what I believe you are asking. If they are simple or not is for you to judge!</p>
  <p>If the infrastructure referred to already exists and you would like to manage, update using infrastructure as code (IaC), you could try tools to convert the infrastructure to code. (These are new and at least one is in beta at the time or writing this)</p>
  <ul>
  <li>Existing Infrastructure to Terraform:
  <a href="https://github.com/GoogleCloudPlatform/terraformer" rel="nofollow noreferrer">https://github.com/GoogleCloudPlatform/terraformer</a></li>
  <li>Existing
  Infrastructure to CloudFormation:
  <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html" rel="nofollow noreferrer">https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html</a></li>
  </ul>
  <p>If the infrastructure does not exist, I recommend using infrastructure as code (IaC). AWS was mentioned, as well as the complexity of CloudFormation, with these considerations, <a href="https://www.terraform.io/" rel="nofollow noreferrer">Terraform</a> could be a good option.</p>
  <ul>
  <li><a href="https://cloudposse.com/" rel="nofollow noreferrer">Cloud Posse</a> offers some good modules to simplify using <a href="https://www.terraform.io/" rel="nofollow noreferrer">Terraform</a> to build infrastructure. <a href="https://github.com/cloudposse/terraform-aws-ecs-alb-service-task" rel="nofollow noreferrer">This module</a> may be a good place to start.</li>
  </ul>
  <p>Finally, if you would like to abstract away the bulk of the infrastructure and just run containers in the cloud.</p>
  <ul>
  <li><a href="https://cloud.google.com/" rel="nofollow noreferrer">Google Cloud Platform</a> (GCP) offers <a href="https://cloud.google.com/run" rel="nofollow noreferrer">Cloud Run</a>, providing a completely managed service to run containers in the cloud with out much of the underlying complexity. The <a href="https://www.terraform.io/docs/providers/google/r/cloud_run_service.html" rel="nofollow noreferrer">GCP Provider for Terraform</a> can help here.</li>
  <li><a href="https://aws.amazon.com/fargate/" rel="nofollow noreferrer">AWS Fargate</a> cloud be another option, with <a href="https://github.com/cloudposse/terraform-aws-eks-cluster" rel="nofollow noreferrer">Cloud Posse</a> again offering modules for Terraform.</li>
  </ul>
  <p>Once the code and infrastructure option is selected, CI/CD is as easy as adding a buildspec.yaml to the repository and adding the <a href="https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/codebuild_project" rel="nofollow noreferrer">Code Build</a> infrastructure to the Terraform code (AWS) and similar for <a href="https://cloud.google.com/cloud-build/docs/quickstart-build" rel="nofollow noreferrer">Cloud Build</a> (GCP).</p>
  <p>Hopefully these options help find you the simple solution you are looking for!</p>
  
Answers: CC BY-SA 4.0
Answers: 2020-08-14T02:17:15.613Z
Answers: 2020-08-14T02:24:53.477Z
Answers: 2020-08-14T02:24:53.477Z
Answers: George
Body: <p>There are so many options:</p>
  <ul>
  <li><p>Docker-compose with ECS cli looks the easiest solution</p>
  </li>
  <li><p>Terraform</p>
  </li>
  <li><p>CloudFormation (looks complex!)</p>
  </li>
  <li><p>Ansible</p>
  </li>
  </ul>
  <p>I am only interested in setting up a basic ECS docker set-up with ELB and easily updating the Docker image version.</p>
  <p>We all love technology here, but we're not all super geniuses when it comes to tech. So I'm looking to keep my set-up as simple as possible. We run Jenkins, 2 NodeJS applications, 2 Java applications in ECS and I know it involves IAM, Security Groups, EBS, ELB, ECS Service/Task, ECS Task Definition, but that already gets complex quickly in CloudFormation.</p>
  <p>What are good technologies that will allow us to use Docker, keep things simple and don't require us to be very intelligent to understand our own programming code?</p>
  
Tags: <docker><amazon-web-services><ecs>
Title: What is the best way to set up a CI/CD pipeline on ECS?
UserDisplayName: ujjain
ThreadText: # What is the best way to set up a CI/CD pipeline on ECS?
  
  (Asked by: username_0 on 2020-08-13)
  
  There are so many options:
  
  * Docker-compose with ECS cli looks the easiest solution
  * Terraform
  * CloudFormation (looks complex!)
  * Ansible
  
  I am only interested in setting up a basic ECS docker set-up with ELB and easily updating the Docker image version.
  
  We all love technology here, but we're not all super geniuses when it comes to tech. So I'm looking to keep my set-up as simple as possible. We run Jenkins, 2 NodeJS applications, 2 Java applications in ECS and I know it involves IAM, Security Groups, EBS, ELB, ECS Service/Task, ECS Task Definition, but that already gets complex quickly in CloudFormation.
  
  What are good technologies that will allow us to use Docker, keep things simple and don't require us to be very intelligent to understand our own programming code?
  
  **Tags:** docker, amazon-web-services, ecs
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-08-14. Score: 1
  
  The question is a bit broad, but here are some suggestions to accomplish what I believe you are asking. If they are simple or not is for you to judge!
  
  If the infrastructure referred to already exists and you would like to manage, update using infrastructure as code (IaC), you could try tools to convert the infrastructure to code. (These are new and at least one is in beta at the time or writing this)
  
  * Existing Infrastructure to Terraform:
    <https://github.com/GoogleCloudPlatform/terraformer>
  * Existing
    Infrastructure to CloudFormation:
    <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html>
  
  If the infrastructure does not exist, I recommend using infrastructure as code (IaC). AWS was mentioned, as well as the complexity of CloudFormation, with these considerations, [Terraform](https://www.terraform.io/) could be a good option.
  
  * [Cloud Posse](https://cloudposse.com/) offers some good modules to simplify using [Terraform](https://www.terraform.io/) to build infrastructure. [This module](https://github.com/cloudposse/terraform-aws-ecs-alb-service-task) may be a good place to start.
  
  Finally, if you would like to abstract away the bulk of the infrastructure and just run containers in the cloud.
  
  * [Google Cloud Platform](https://cloud.google.com/) (GCP) offers [Cloud Run](https://cloud.google.com/run), providing a completely managed service to run containers in the cloud with out much of the underlying complexity. The [GCP Provider for Terraform](https://www.terraform.io/docs/providers/google/r/cloud_run_service.html) can help here.
  * [AWS Fargate](https://aws.amazon.com/fargate/) cloud be another option, with [Cloud Posse](https://github.com/cloudposse/terraform-aws-eks-cluster) again offering modules for Terraform.
  
  Once the code and infrastructure option is selected, CI/CD is as easy as adding a buildspec.yaml to the repository and adding the [Code Build](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/codebuild_project) infrastructure to the Terraform code (AWS) and similar for [Cloud Build](https://cloud.google.com/cloud-build/docs/quickstart-build) (GCP).
  
  Hopefully these options help find you the simple solution you are looking for!
  
  
  ---
  
  