Skip to content

Simple Container CI/CD Project with Lowest Cost

0

Intent: Create a containerized CI/CD pipeline on AWS using GitHub, Jenkins, Maven, and other services. The purpose of the pipeline is to monitor my GitHub account that will contain my resume. Any changes will trigger the process to ultimately update the resume on my website. I own three domains.

Restrictions: I am unemployed and severely cash strapped. This is to be used as experience for professional reasons. This needs to be accomplished without costing too much money per month. New to containers. My thought would be to use Kubernetes as that is the most requested container type I have seen in job requests.

Desire: I do not want to get completed solutions all spelled out. That is for me to research to learn the specifics. The lowest cost route (services to use (and avoid) is what I am after. Please point me in the direction with some hints and I will struggle to figure it out from there. I have taken hundreds of courses but have no real practical application of the information other than the hands on portions. Thank you so much in advance.

1 Answer
0

Low-Cost CI/CD Pipeline for Resume Website

Given your constraints and learning goals, here's a cost-effective approach to building a containerized CI/CD pipeline for your resume website:

Recommended Services

  1. GitHub - Free tier for hosting your resume repository
  2. Jenkins - Self-hosted on a small EC2 instance (t2.micro in the free tier)
  3. Docker - For containerization (free and open-source)
  4. Amazon ECR - For storing your container images (has a free tier)
  5. Amazon ECS with Fargate - More cost-effective than EKS for a simple website

Why This Approach vs. Kubernetes

While Kubernetes (EKS) is popular in job listings, it's significantly more expensive and complex for your use case. For a simple resume website, EKS would be overkill and could cost $70+ per month just for the control plane.

ECS with Fargate provides container orchestration with a pay-as-you-go model that will be much more affordable for a low-traffic resume site.

Implementation Hints

  1. Set up Jenkins on EC2:
  • Use a t2.micro instance (free tier eligible)
  • Install Jenkins and necessary plugins for Docker/container integration
  • Configure Jenkins to monitor your GitHub repository
  1. Create a simple pipeline:
  • Checkout code from GitHub
  • Build your resume website (HTML/CSS or whatever technology you're using)
  • Build a Docker image
  • Push the image to Amazon ECR
  • Deploy to ECS Fargate
  1. Cost optimization:
  • Use EC2 free tier
  • Configure Fargate to use minimal resources
  • Set up ECR lifecycle policies to remove unused images

This approach gives you hands-on experience with containers and CI/CD while keeping costs minimal. Once you're comfortable with this setup, you could explore migrating to Kubernetes as a learning exercise, but I wouldn't recommend starting there given your budget constraints.
Sources
Building an End-to-End CI/CD Pipeline with Jenkins | AWS re:Post
Jenkins pipeline setup and CI/CD integration with Kubernetes | AWS re:Post
Community | Build a CI/CD Pipeline for EKS Workloads with AWS Services
Configuring container pipelines - AWS App2Container

answered a year ago
AWS
EXPERT
reviewed a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.