π DevSecOps Journey β Day 20

Introduction to CI/CD & Jenkins Architecture (Hands-on Foundations)
After completing build tools, 2-tier & 3-tier applications, and NGINX, Iβve now moved into the heart of DevOps: CI/CD (Continuous Integration & Continuous Delivery).
This is where automation meets reliability, and where modern software delivery truly begins.
π What is CI/CD? (Simple Explanation)
CI/CD is a pipeline of automated steps that ensures code is always ready for deployment.
A typical CI/CD flow looks like:
Code β Tests β Security Checks β Build β Deploy β Monitor
Each stage validates the code before moving forward, reducing failures in production.
π― Why CI/CD Is So Important
CI/CD helps organizations achieve:
βοΈ Automation β Less manual work
π Tracking & History β Every change is recorded
π§ͺ Early Testing β Bugs caught before deployment
π Security Checks β Safer releases
π Faster Deployments β Release with confidence
π Continuous Monitoring β Faster feedback loops
Because of CI/CD, code remains deploy-ready at all times.
π§° Popular CI/CD Tools in Industry
πΉ Jenkins
Requires manual setup & maintenance
Runs on self-managed VMs
Uses Groovy for pipeline scripting
Highly customizable and widely adopted
πΉ GitHub Actions
Minimal setup effort
Free hosted runners available
Uses YAML workflows
Tight integration with GitHub repos
πΉ GitLab CI
Minimal setup effort
Free shared runners
Uses YAML
Built-in CI/CD experience
Each tool solves CI/CD differently, but Jenkins remains a core enterprise tool.
βοΈ Getting Started with Jenkins
Before running Jenkins:
- β Java must be installed on the server/VM
π§± Jenkins Architecture: MasterβAgent Model
β Single Master Problem
If a single Jenkins master:
Runs Jenkins itself
Executes large pipelines (15β20 stages)
Has limited resources (e.g., 4GB RAM, 2 vCPU)
It can lead to:
Pipeline hangs
Failed jobs
β Error 137 (Out of Memory)
β MasterβAgent Solution
Jenkins Master manages jobs & UI
Jenkins Agents (Slaves) execute pipelines
Workload is distributed across multiple VMs
π Result:
Better performance
No memory bottlenecks
Scalable CI/CD setup
π§© Jenkins Job Types
Jenkins supports multiple job types:
π§± Freestyle Jobs β Simple, UI-based tasks
π Pipeline Jobs β Code-defined pipelines
πΏ Multibranch Pipelines β Auto-detect branches
Each is used depending on project complexity.
π Jenkins Configuration Areas (Explored)
βοΈ System
Global server settings
Email notifications
Tool integrations
π Plugins
Extend Jenkins capabilities
Git, Maven, Docker, Node, etc.
Older Java versions & third-party tools
π§° Tools
Java versions
Maven / Node / Gradle
Configured globally
π₯ Nodes
Configure agent machines
Distribute workload
βοΈ Cloud
Docker containers
Kubernetes pods
π Credentials
Secure storage for:
Usernames
Passwords
Tokens
SSH keys
π₯ Users & RBAC
Role-based access control
Secure Jenkins access
π― Why This Matters for DevOps / DevSecOps
Understanding CI/CD tools and Jenkins internals helps with:
Designing scalable pipelines
Secure secret handling
Efficient build execution
Zero-downtime deployments
Enterprise-grade automation
This is core DevOps engineering knowledge.
β Day 20 Summary
Today I learned:
What CI/CD is and why it matters
Typical CI/CD pipeline stages
Comparison of Jenkins, GitHub Actions & GitLab CI
Jenkins MasterβAgent architecture
Job types in Jenkins
Core Jenkins configuration areas
This lays the foundation for real pipeline implementation and automation.
β‘οΈ Coming Next:
Hands-on demos of:
Freestyle Jobs
Pipeline Jobs
Multibranch Pipelines in Jenkins



