Cloud Computing 10 min read 27 views Dec 08, 2025

CI/CD Pipeline with Jenkins and Docker: Complete Guide

T
Techslator
Cloud Architecture Expert
Building a robust CI/CD pipeline is essential for modern software delivery. Learn how to set up an automated pipeline using Jenkins and Docker for seamless deployments.

Build Your First CI/CD Pipeline

Building a robust CI/CD pipeline is essential for modern software delivery. Learn how to set up an automated pipeline using Jenkins and Docker for seamless deployments.

What You'll Build

  1. Automated code checkout from Git
  2. Docker image building and testing
  3. Push to container registry
  4. Deploy to production environment

Step 1: Jenkins Setup

docker run -d -p 8080:8080 -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  --name jenkins jenkins/jenkins:lts

Step 2: Install Required Plugins

  • Docker Pipeline
  • Git plugin
  • Pipeline plugin
  • Blue Ocean (optional, but recommended)

Step 3: Create Jenkinsfile

pipeline {
    agent any
    
    stages {
        stage('Checkout') {
            steps {
                git 'https://github.com/yourrepo/app.git'
            }
        }
        
        stage('Build') {
            steps {
                sh 'docker build -t myapp:${BUILD_NUMBER} .'
            }
        }
        
        stage('Test') {
            steps {
                sh 'docker run myapp:${BUILD_NUMBER} npm test'
            }
        }
        
        stage('Push') {
            steps {
                sh 'docker push myapp:${BUILD_NUMBER}'
            }
        }
        
        stage('Deploy') {
            steps {
                sh './deploy.sh ${BUILD_NUMBER}'
            }
        }
    }
}

Step 4: Configure Webhooks

Set up GitHub webhooks to trigger builds automatically on git push.

Best Practices

  • Use multi-stage Docker builds to reduce image size
  • Implement health checks before marking deployment as successful
  • Add rollback mechanism for failed deployments
  • Use environment variables for configuration
  • Implement proper logging and monitoring
Pro tip: Start simple and gradually add complexity. A working basic pipeline is better than a complex broken one!
Tags: Jenkins Docker CI/CD DevOps Automation Pipeline

Share this article

Related Articles