Logo

Process of CI/CD:

Pasted image 20240929170733.png

  1. Detect Changes & Fetch [(Git)]
  2. Build & Version [(npm, gradle)]
  3. Unit Tests [(Junit, Jest, etc)]
  4. Code Analysis - (optional)
  5. Push to Prod

Jenkins handles all of these processes n CI/CD

Jenkins Concepts

  • Freestyle vs Pipeline: Freestyle build CD with UI / Pipeline builds with code (Groovy)
  • Plugins: Extension tools, such as npm, pip, cargo, etc
  • Tools: Plugins that are activated, (recommended: Auto Install)
  • Job: Build task
  • Triggers: Entry point to initialise build automatically, common ways:
    • Git Webhook // Poll SCM (Source Code Manager) - Interval Polling

Setup Docker CI/CD -> ECR -> ECS

CI - Docker to ECR

  • Setup New EC2
  • Install Docker & AWS CLI
  • Add jenkins to docker group
  • Create ECR - public & get URl
  • Store AWS Creds (access & secret) in jenkins global creds

CD - ECR to ECS

  • Build Cluster & Select Instances (use Fargate Serverless) + Insights
  • Task config
    • build (1CPU, 2GB mem) - [ Container for ECS ]
    • add container from ECR URI here
  • Create Service (allow HTTP - 80 & TCP - 8080) [LB 80 -> Cont. 8080]

© 2025 All rights reservedBuilt with DataHub Cloud

Built with LogoDataHub Cloud