Skip to content

samindersingh/devops-task

 
 

Repository files navigation

DevOps Task — Jenkins → Docker Hub → AWS ECS (Fargate)

A tiny Node.js app packaged with Docker, built by Jenkins, pushed to Docker Hub, and deployed to AWS ECS Fargate behind an ALB. Logs stream to CloudWatch. Infra is provisioned via Terraform.


Check App - http://devopstask-alb-286760224.ap-south-1.elb.amazonaws.com/

Stack

  • GitHub (branches: dev, main)
  • CI/CD: Jenkins (webhook triggered)
  • Registry: Docker Hub → sammy34719/devopstask
  • Runtime: AWS ECS Fargate + ALB
  • Observability: CloudWatch Logs
  • IaC: Terraform

Flow (high-level)

Push → Jenkins (Build/Test → Dockerize → Push) → Update ECS Task Definition → Rolling deploy via ALB


Architecture

├─ app.js ├─ package.json ├─ Dockerfile ├─ Jenkinsfile ├─ infra/ │ ├─ providers.tf │ ├─ variables.tf │ ├─ main.tf │ └─ outputs.tf └─ deployment-proof/ ├─ url.txt └─ screenshots/

Quick Start

1) Infra

  • cd infra
  • terraform init && terraform apply -auto-approve
  • note outputs: alb_dns, cluster, service, task_family

2) Jenkins (one-time)

sudo su - jenkins && aws configure

3) Jenkinsfile env (edit to your outputs)

  • AWS_REGION=ap-south-1
  • ECS_CLUSTER=devopstask-cluster
  • ECS_SERVICE=devopstask-svc
  • TASK_FAMILY=devopstask
  • DOCKER_NS=sammy34719
  • APP_NAME=devopstask

4) Monitoring

aws logs describe-log-streams
--log-group-name /devopstask
--order-by LastEventTime --descending
--max-items 5 --region ap-south-1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 92.6%
  • JavaScript 5.0%
  • Dockerfile 2.4%