01 — Practice project — Next.js, AWS ECS Fargate, CI/CD
A Simple Coffee Site
I recently deployed a simple Next.js application to AWS and built an automated CI/CD pipeline:
GitHub → GitHub Actions → Docker → ECR → ECS Fargate → Application Load Balancer → Live App
The pipeline now automatically handles:
• Linting and building the application
• Docker image creation and tagging
• Pushing images to Amazon ECR
• Creating new ECS task definition revisions
• Deploying updates to ECS
• Waiting for ALB health checks before completing the deployment
The process came with a few challenges — including IAM AccessDeniedException errors, iam:PassRole, ECS permissions, security group configuration, ALB connectivity, and making sure the latest image was actually running.
After troubleshooting those issues, a git push can now take a change from code all the way to a running container on AWS.
- GitHub
- GitHub Actions
- Docker
- ECR
- AWS
- CI/CD pipeline
