Jenkins : Login Dengan Menggunakan GitLab


Sebelumnya sudah ada artikel yang menjelaskan apa itu Jenkins dan bagaimana cara melakukan instalasinya hingga berhasil digunakan. Kali ini kita akan masuk atau login ke dalam Jenkins dengan menggunakan GitLab.

Sebelum itu, apasih GitLab itu?

Gitlab merupakan layanan untuk menggunakan Git. Git adalah sebuah tools yang berfungsi untuk memudahkan para developer. Tools ini berguna sebagai Version Control System (VCS) yang tugasnya melacak perubahan pada file kode. Bagi para developer, keberadaan Git sangat memudahkan mereka dalam berkolaborasi menyelesaikan proyek dengan developer lain ataupun proyek sendiri.

Tools seperti Git memungkinkan developer untuk melakukan perubahan pada source code tertentu. Mereka tidak perlu khawatir akan ada bentrok dalam penggabungan kode-kode tersebut. Karena dengan menggunakan Git semua perubahan pada source code dapat terlacak perubahannya.

Untuk dapat menggunakan Git, saat ini telah tersedia berbagai layanan untuk menyimpan dan saling berbagi kode tersebut. Misalnya, Gitlab, Github, Bitbucket, dan Gitorous. Di antara pilihan-pilihan tersebut, Gitlab adalah salah satu layanan penyimpanan Git yang mulai terkenal dan memiliki banyak pengguna.

Kenapa dilakukan ingetrasi antara Jenkins dan GitLab???

Integrasi antara Jenkins dan GitLab dibuat dan dijalankan untuk memuluskan proses CI/CD, mempercepat proses pengembangan software, dan meningkatkan visibilitas serta kontrol atas build dan pengiriman software.

Digital Amoeba juga memanfaatkan layanan GITLAB yang tersimpan pada cloud internal yang diguanakan untuk menyimpan dan mengelola project yang ada pada Telkom CorpU bernama GIT CORPU.

Bagaimana caranya yuk simak langkah – langkah berikut ini :

Masuk ke dalam Jenkins, install plugins GitLab Authentication Plugin.

Tunggu hingga proses instalasi berhasil seperti gambar dibawah ini.

Selanjutnya, login akun GitLab dan buat GitLab Application Registration. Untuk membuatnya klik Profile > Preference > Application > Add new application > lalu isikan :

  1. Name : Jenkins (bebas, sesuai keinginan)
  2. Redirect URL : http://localhost:8080/securityRealm/finishLogin (sesuaikan dengan URL Jenkins anda) Scopes : centang pada api

Save application.

Maka akan terbuat baru seperti gambar dibawah ini, didalamnya terdapat berbagai informasi mulai dari Application ID, Secret, Callback URL, Confidential dan Scopes.

Pindah lagi ke Jenkins, masuk ke Manage Jenkins > Secutiry > Security Realm > Ganti menjadi GitLab Authentication Plugin.

Isikan kolom pada Global GitLab OAuth Settings :

  1. GitLab Web URL : https://gitlab.com/
  2. GitLab API URL : https://gitlab.com/
  3. Client ID : (masukan sesuai dengan yang dibuat pada langkah sebelumnya)
  4. Client Secret : (masukan sesuai dengan yang dibuat pada langkah sebelumnya)

Jika sudah, untuk mengecek apakah konfigurasi yang dilakukan sudah berhasil atau belum, Logout terlebih dahulu.

Lalu akan muncul tampilan seperti gambar dibawah ini, klik Dashboard untuk Login ulang.

Klik Authorized.

Jika berhasil, jenkins akan Login otomatis dengan user GitLab kita, seperti gambar dibawah ini.

Untuk melihat apakah user GitLab kita benar atau bukan klik saja pada bagian nama user, akan langsung tertampil seperti gambar dibawah ini. Jika melihat gambar dibawah terlihat sudah benar akun GitLab yang digunakan adalah milik saya, dengan terlihat hanya ada 1 project (Cloufina Nata Karya).


Login Jenkins dengan GitLab memberikan beberapa keuntungan:

  1. Otorisasi Berbasis Proyek: Jenkins dapat menggunakan otorisasi yang telah ditetapkan dalam GitLab. Ini berarti Anda dapat mengendalikan akses ke Jenkins berdasarkan izin yang telah ditetapkan dalam proyek GitLab Anda. Misalnya, Anda dapat memberikan akses ke Jenkins hanya kepada anggota tertentu dari proyek GitLab.
  2. Integrasi dengan Kontinuasi Integrasi/Distribusi (CI/CD): Jenkins dapat secara otomatis memulai build setiap kali ada push ke repositori GitLab. Dengan login GitLab, Jenkins dapat menggunakan token GitLab untuk mengakses repositori dan memulai build sesuai dengan konfigurasi yang ditentukan.
  3. Akses ke Repositori: Jenkins mungkin perlu mengakses repositori GitLab untuk mengunduh kode sumber, konfigurasi, atau skrip CI/CD lainnya. Login GitLab memungkinkan Jenkins untuk menggunakan token yang sesuai untuk mengakses repositori ini tanpa perlu menyimpan credential sensitif secara terbuka di Jenkins.
  4. Melacak Aktivitas Pengguna: Login GitLab memungkinkan Jenkins untuk melacak aktivitas pengguna, termasuk siapa yang memulai build, menerima notifikasi, dan lain-lain. Ini membantu dalam audit dan pemecahan masalah.
  5. Menggunakan GitLab sebagai Sistem SSO (Single Sign-On): Dengan login GitLab, pengguna dapat menggunakan akun GitLab mereka untuk masuk ke Jenkins. Ini mempermudah manajemen kredensial dan memberikan pengalaman yang lebih nyaman bagi pengguna.