Build & Push Docker Image via Jenkins Pipeline
2 min read

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
withDockerRegistrybisa 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.



