Mdr{dani} Notes

Build & Push Docker Image via Jenkins Pipeline

·

2 min read

Cover Image for Build & Push Docker Image via Jenkins Pipeline

Setelah Jenkins siap, tugas kita selanjutnya adalah mengotomatisasi proses pembuatan Docker Image dari source code Laravel, lalu mengirimnya (push) ke Docker Hub. Dengan cara ini, setiap perubahan kode akan menghasilkan image baru yang siap di-deploy.

1. Persiapan: Keamanan & Plugin

Sebelum menulis pipeline, kita harus menyiapkan dua hal di dashboard Jenkins:

  • Install Plugin: Pergi ke Manage Jenkins > Plugins > Available Plugins. Cari dan instal plugin "Docker Pipeline". Plugin ini wajib ada agar sintaks withDockerRegistry bisa dikenali.

  • Setting Credentials: Jenkins butuh izin untuk masuk ke Docker Hub kamu.

    • Buka Manage Jenkins > Credentials > System > Global credentials.

    • Pilih Add Credentials.

    • Kind: Username with password.

    • Username: (Docker Hub Username kamu).

    • Password: (Docker Hub Access Token — jangan pakai password utama demi keamanan).

    • ID: dockerhub-cehamot (Pastikan ID ini sama dengan yang ada di script).

2. Implementasi: Jenkinsfile (Pipeline)

Buatlah New Item dengan tipe Pipeline. Masukkan script berikut pada kolom Pipeline Script:

pipeline {
    agent any

    environment {
        // ID ini harus sesuai dengan yang didaftarkan di Credentials tadi
        REGISTRY_CREDENTIALS = credentials('dockerhub-cehamot') 
        DOCKER_IMAGE_NAME    = "cehamot/rssejahterapp"
        DOCKER_IMAGE_TAG     = "${env.BUILD_NUMBER}"
        REGISTRY_URL         = "https://index.docker.io/v1/"
        REPO_URL             = "https://github.com/mdrdani/appointmentApp.git"
        REPO_BRANCH          = "master"
    }

    stages {
        stage('Checkout Source Code') {
            steps {
                // Mengambil kode terbaru dari GitHub
                git branch: "${REPO_BRANCH}", url: "${REPO_URL}"
            }
        }

        stage('Build Docker Image') {
            steps {
                echo "Building Image: ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}"
                sh "docker build -t ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG} ."
                sh "docker tag ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG} ${DOCKER_IMAGE_NAME}:latest"
            }
        }

        stage('Push to Docker Hub') {
            steps {
                script {
                    withDockerRegistry([credentialsId: 'dockerhub-cehamot', url: REGISTRY_URL]) {
                        sh "docker push ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}"
                        sh "docker push ${DOCKER_IMAGE_NAME}:latest"
                    }
                }
            }
        }
    }
}

3. Langkah Terakhir

Klik Build Now. Jika semua lampu berubah menjadi hijau, selamat! Docker image aplikasi Laravel kamu sudah mendarat di Docker Hub secara otomatis.

Mdr{dani} Notes

A digital garden where I plant ideas, share thoughts on DevOps, cloud infrastructure, open-source, and my journey in tech. Keep exploring and happy automating!

Explore Topics

Web DevelopmentReactNext.jsGolangOpen SourceTutorials

Supported By

Codeathome
LampungDev

Made with© 2026 Muhamad Dani Ramanda

Powered by HashnodeHosted on Vercel