JenkinsComposeStack

Jenkins CI/CD Setup with Docker

A modular, scalable, and reproducible Jenkins setup using Docker Compose, designed for efficient CI/CD environments.

🚀 Project Overview

This setup provides a fully containerized, automated Jenkins infrastructure that can be:

🏗 Key Components & Flow

1️⃣ Jenkins Controller

2️⃣ Docker-in-Docker (DinD)

3️⃣ Jenkins Agents (Dynamically Provisioned)

4️⃣ Private Docker Registry

5️⃣ Builder Service (One-time Build Step)

🔄 Deployment & CI/CD Flow

✅ GitHub Actions (CI Pipeline)

✅ Spin-Up Anytime

🔍 Sanity Check Pipeline (jenkins-sanity-check-pipeline)

This pipeline runs essential tests before allowing further builds:

🛠 How it Works:

🛠 Prerequisites

🏗 Sanity Check Pipeline Breakdown

1️⃣ Node Validation

2️⃣ Workspace & File Check

3️⃣ Agent-to-Controller Network Test

4️⃣ Plugin Verification

5️⃣ Parallel Job Execution

6️⃣ Docker Connectivity Check

▶️ Usage: Running the Sanity Check Pipeline

  1. Navigate to Jenkins
  2. Trigger the jenkins-sanity-check-pipeline job
  3. Monitor the results in the console output
  4. Address any reported issues before proceeding with other builds

🔍 Troubleshooting

🎯 End Goal & Conclusion

This setup creates a portable, pre-configured, and self-testing Jenkins infrastructure that:

This automated and self-verifying setup ensures that your Jenkins environment is always ready for production builds, minimizing potential issues and streamlining your CI/CD workflows.