Create the AWS infrastructure (ECS, ECR, ALB, ...) to deploy a container and automatically update it using Github Action.
Example run is available here.
Hey, considering some people forked this project I made a Terraform Module based on the resources I used in this repository. It is available at github.com/tbobm/terraform-aws-ecs and it is already available in the Terraform Registry at tbobm/ecs.
The AWS infrastructure is setup using terraform in the ./terraform
.
The following components are deployed:
- Application Load Balancer (
./lb.tf
) - ECS Cluster / ECS Service (
./ecs.tf
) - Elastic Container Registry (
./ecr.tf
) - IAM permissions (
./iam.tf
) - VPC configuration (
./vpc.tf
)
The repository leverages the AWS Github Actions maintained by AWS.
The main goal is to provide an example configuration of the following workflow:
- Run the integration tests
- Build the Docker image
- Publish it to a private ECR
- Update the corresponding ECS Service (by editing the task image)