Skip to main content

[Automation] Panduan lengkap untuk mengaktifkan trigger otomatis menggunakan GitLab Webhook ke Jenkins

Mantap! ๐Ÿ’ช Karena semua plugin di Jenkins sudah terpasang, kamu sekarang tinggal menyambungkan GitLab โ†” Jenkins agar:

Setiap kali ada push ke repo GitLab, otomatis Jenkins akan jalanin pipeline-nya.

Berikut ini adalah panduan lengkap dan terbukti jalan untuk mengaktifkan trigger otomatis menggunakan GitLab Webhook ke Jenkins.


โœ… A. SYARAT MINIMAL

Hal Keterangan
Jenkins bisa diakses dari GitLab Harus pakai IP publik, domain, atau pakai tunnel (ngrok, frp, dsb)
Jenkins job sudah dibuat Tipe: Pipeline, sudah terhubung ke repo GitLab
Plugin GitLab sudah terpasang Sudah kamu lakukan โœ…
File Jenkinsfile sudah ada di root repo Untuk jalankan perintah otomatis โœ…

๐Ÿ” B. FLOW BESAR YANG AKAN DIBUAT

GitLab (push) โ”€โ”€> Webhook โ”€โ”€> Jenkins โ”€โ”€> Clone repo โ”€โ”€> Run Playwright test

๐Ÿ”ง C. LANGKAH DETAIL

1. ๐Ÿ’ก Ambil URL Webhook dari Jenkins

Buka Jenkins โ†’ buka job yang sudah kamu buat โ†’ klik Configure

โžค Scroll ke bagian:

โœ… Build Triggers

Centang:

โ˜‘๏ธ  Build when a change is pushed to GitLab

Nanti akan muncul:

GitLab webhook URL: http://your-jenkins-server/project/your-job-name

Salin URL ini, misalnya:

http://192.168.100.10:8080/project/playwright-from-gitlab

2. ๐Ÿš€ Tambahkan Webhook di GitLab

Masuk ke:

GitLab โ†’ Project โ†’ Settings โ†’ Webhooks

Isi:

Field Nilai
URL http://<jenkins>/project/<nama-job>
Secret Token (opsional) Boleh kosong
Trigger Events โœ… Push events
SSL verification (Centang atau tidak tergantung Jenkins pakai HTTPS atau HTTP)

Klik Add Webhook


3. โœ… Tes Webhook dari GitLab

  • Klik tombol "Test โ†’ Push event"

  • Lihat di Jenkins apakah job langsung running

Jika berhasil, kamu akan melihat build langsung jalan di Jenkins secara otomatis.


๐Ÿงช 4. (Opsional) Lihat Log Webhook di GitLab

  • Masuk ke:

Settings โ†’ Webhooks โ†’ [Klik URL webhook]

Kamu bisa lihat:

  • โœ… Response: 200 OK (berarti Jenkins menerima webhook)

  • โŒ Kalau 403 atau 404 โ†’ periksa URL Jenkins, nama job, atau permission


โœ… Sekarang Jenkins Akan Jalan Otomatis Setiap Push

๐Ÿ” Misalnya kamu push ke main:

git add .
git commit -m "update test"
git push origin main

โžก๏ธ Jenkins akan jalan:

  • clone repo

  • jalankan:

    • npm ci

    • npx playwright install --with-deps

    • npm test

  • generate playwright-report

  • tampilkan di UI


๐Ÿ›ก Tips Keamanan (Opsional)

  • Gunakan reverse proxy (Nginx/Apache) jika Jenkins ingin expose via HTTPS

  • Bisa aktifkan "Trigger builds remotely" dengan token jika webhook tidak stabil

  • Bisa pakai personal GitLab token jika nanti butuh akses private repo atau trigger API-based