[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
atau404
โ 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
No Comments