The purpose of this project was to implement a CI/CD pipeline and document the process.
The project uses a simple Spring Boot MVC app with a PostgreSQL database.
Document walks through building a CI/CD pipeline for a containerized application using GitHub Actions and deploying it to AWS Elastic Container Service (ECS) with Fargate. The setup demonstrates how to automate the build, containerization, and deployment process using AWS and GitHub workflows.
In addition to the deployment pipeline, the document includes integration with Amazon RDS for database hosting and AWS Secrets Manager for credential management, including automatic secret rotation using AWS Lambda. The pipeline uses GitHub’s OpenID Connect (OIDC) provider to enable authentication between GitHub Actions and AWS.
The next step is to implement the same deployment process using Terraform.
Footnotes
-
IAAS Academy. Deploy Applications on AWS Fargate (ECS Tutorial + Hands-On Project): https://www.youtube.com/watch?v=C6v1GVHfOow ↩
-
AWS documentation. Best practices for connecting Amazon ECS to AWS services from inside your VPC: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/networking-connecting-vpc.html ↩
