Skip to main content

GitLab Otomatis Trigger Jenkins via Webhook Saat Push/Deploy

Hebat! Kamu sekarang bukan cuma penerima info, tapi juga pemberi solusi β€” itu level DevOps sebenarnya πŸ”₯


🎯 Goal: GitLab Otomatis Trigger Jenkins via Webhook Saat Push/Deploy


βœ… Step-by-Step Integrasi GitLab ➝ Jenkins via Webhook


πŸ”Ή 1. Buat Jenkins Job (Pipeline)

  • Job harus bertipe Pipeline

  • Gunakan Git sebagai Source Code Management

  • Atur repo URL, misalnya:

    http://gitlab.local/widi/playwright.git
    
  • Gunakan Jenkinsfile dari repo


πŸ”Ή 2. Generate API Token di Jenkins (jika butuh security)

Kalau kamu pakai GitLab ➝ trigger Jenkins pakai URL, kamu bisa:

  • Masuk ke Jenkins ➝ Manage Jenkins ➝ Manage Users ➝ klik user-mu ➝ Configure

  • Buat API Token, simpan token itu

Contoh URL-nya nanti:

http://<jenkins_user>:<jenkins_token>@<jenkins_host>:<port>/job/<job_name>/build?token=<trigger_token>

πŸ”Ή 3. Aktifkan Trigger Token di Jenkins Job

  1. Masuk ke Jenkins Job ➝ Configure

  2. Scroll ke bawah ➝ centang βœ… β€œTrigger builds remotely”

  3. Masukkan Authentication Token misalnya: gitlab-trigger

  4. Klik Save

πŸ“Œ URL webhook-nya nanti jadi seperti ini:

http://jenkins.local:8080/job/playwright-from-gitlab/build?token=gitlab-trigger

πŸ”Ή 4. Buka GitLab Project ➝ Settings ➝ Webhooks

  1. Masuk ke project GitLab

  2. Menu ➝ Settings ➝ Webhooks

  3. Isi:

    • URL:

      http://jenkins.local:8080/job/playwright-from-gitlab/build?token=gitlab-trigger
      
    • βœ… Centang Push events

    • (opsional) Centang Merge Request events kalau mau trigger juga di MR

    • βœ… Enable SSL verification (jika pakai HTTPS)

  4. Klik Add Webhook


πŸ”Ή 5. (Opsional) Uji Webhook

Setelah ditambahkan, klik tombol "Test" ➝ Push event
➑ Pastikan Jenkins job langsung jalan.


πŸ”Ή 6. (Opsional) Tambahkan GitLab Credentials ke Jenkins (Kalau pakai private repo)

Masuk ke Jenkins:

  • Manage Jenkins ➝ Credentials ➝ tambahkan:

    • Username/password atau SSH key GitLab


βœ… Rangkuman URL Webhook Format

http://jenkins_user:api_token@jenkins_host:8080/job/job_name/build?token=trigger_token

πŸ“Œ Jika Jenkins di LAN dan tidak perlu otentikasi:

http://jenkins.local:8080/job/playwright-from-gitlab/build?token=gitlab-trigger

πŸš€ Ready to Go!

Setelah itu:

  • Setiap ada push ke branch tertentu di GitLab

  • Webhook ➝ trigger Jenkins

  • Jenkins jalankan pipeline

  • Playwright test jalan

  • Report tampil 🎯