GitLab adalah manajer repositori Git open source berbasis web yang ditulis dalam Ruby, fitur Gitlab meliputi wiki, manajemen masalah, tinjauan kode, pemantauan, serta integrasi dan deploy berkelanjutan. Serangkaian fitur ini memungkinkan pengembang untuk membuat, meninjau, dan deploy proyek.

Ada tiga edisi berbeda dari GitLab yang tersedia, Community Edition (CE), Enterprise Edition (EE), dan versi yang di-host GitLab.

GitLab adalah pilihan nomor satu jika Anda ingin pindah dari GitHub. Gitlab dapat mengimpor proyek dari berbagai sumber termasuk GitHub, yang membuat proses migrasi tidak repot. Interface GitLab dirancang dengan baik, bersih, intuitif dan menyerupai GitHub dalam hal pengalaman dan fungsionalitas pengguna.

Ada beberapa cara untuk menginstal GitLab tergantung pada kasus penggunaan yang dibutuhkan. Tutorial ini mencakup langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi GitLab (CE) pada sistem Ubuntu 18.04 menggunakan paket Omnibus.

Prasyarat

Tutorial ini mengasumsikan bahwa Anda memiliki instalasi Ubuntu 18.04 yang baru. Menurut halaman persyaratan GitLab, disarankan untuk menggunakan server dengan:

  • RAM 4GB (Minimal)
  • 2 core
  • 2GB swap. (Minimal)
  • (opsional) Domain atau subdomain yang menunjuk ke alamat IP server.

Untuk lapisan keamanan tambahan, disarankan untuk membuat firewall dasar. Anda dapat mengikuti langkah-langkah di Panduan Cara Mengatur Firewall dengan UFW di Ubuntu 18.04.

Sebelum memulai dengan tutorial, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.

Install Dependensi yang Diperlukan

Refresh indeks paket lokal dan instal dependensi dengan perintah berikut:

sudo apt update
sudo apt install curl openssh-server ca-certificates

Agar GitLab dapat mengirim email notifikasi, Anda dapat menginstal dan menggunakan Postfix atau menggunakan beberapa layanan email transaksional seperti SendGrid, MailChimp, MailGun atau SES.

Dalam hal ini Anda dapat melewati langkah berikut dan langsung mengkonfigurasi pengaturan SMTP GitLab setelah instalasi selesai.

Jalankan perintah berikut untuk menginstal Postfix di server Ubuntu Anda:

debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix

Install GitLab

Proses Instalasi GitLab cukup mudah. Kita akan menginstal paket GitLab CE menggunakan aptpackage manager.

Mulai dengan menambahkan repositori GitLab ke daftar sistem source menggunakan perintah curl berikut:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Setelah repositori diaktifkan, instal paket GitLab dengan menjalankan perintah berikut.

sudo apt install gitlab-ce

Proses instalasi mungkin memakan waktu cukup lama dan setelah instalasi berhasil, Anda akan melihat output berikut:

Thank you for installing GitLab!

Menyesuaikan Pengaturan Firewall

Untuk dapat mengakses antarmuka GitLab, kita perlu membuka port 80 dan 443:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https

Untuk memastikan bahwa port yang diperlukan terbuka, Anda dapat memeriksa status firewall dengan:

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Set URL GitLab

Sebelum mengakses web interface GitLab, kita perlu mengatur URL tempat GitLab dapat dijangkau. Buka file konfigurasi Gitlab dan buat perubahan berikut:

sudo nano /etc/gitlab/gitlab.rb

Di dekat bagian atas file konfigurasi, Anda akan melihat baris yang dimulai dengan external_url. Ubah nilainya agar sesuai dengan domain/subdomain atau alamat IP Anda. Jika Anda memiliki domain, gunakan https dan jika Anda ingin mengakses interface GitLab melalui alamat IP server Anda gunakan http.

external_url 'https://gitlab.example.com'

Pencarian selanjutnya untuk “integrasi Let’s Encrypt integration”, batalkan komentar pada baris yang dimulai dengan letsencrypt ['enable'] dan atur menjadi true.

Secara opsional jika Anda ingin menerima email dari Let’s Encrypt tentang domain Anda, batalkan komentar pada baris yang dimulai dengan letsencrypt ['contact_emails'] dan tambahkan alamat email Anda.

Jika Anda mengatur external_url ke alamat IP maka jangan aktifkan integrasi Let’s Encrypt.

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']

Terakhir, simpan dan tutup file dan jalankan perintah berikut untuk mengkonfigurasi ulang Gitlab:

sudo gitlab-ctl reconfigure

Perintah ini akan mengkonfigurasi ulang pengaturan GitLab Anda dan menghasilkan sertifikat SSL gratis Let’s encrypt.

Konfigurasikan GitLab melalui Web Interface

Sekarang Anda telah mengkonfigurasi URL GitLab, Anda dapat mulai dengan konfigurasi awal melalui web interface GitLab.

Luncurkan browser web Anda dan navigasikan ke:

https://gitlab_domain_anda_atau_server_IP

1. Atur kata sandi akun administratif

Pertama kali Anda mengakses antarmuka web, Anda akan diminta untuk mengatur kata sandi untuk akun administratif.

gitlab initial page

Masukkan kata sandi yang aman dan klik tombol Change your passwordketika Anda selesai.

Anda akan diarahkan ke halaman login:

Nama pengguna akun administratif default adalah root. Kemudian dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana mengubah nama user ini.

  • Username: root
  • Password: [password yang telah Anda buat]

Setelah Anda memasukkan kredensial masuk dan klik tombol Sign in Anda akan dibawa ke halaman selamat datang.

2. Edit User profile

Hal pertama yang ingin Anda lakukan adalah mengedit profil user. Klik pada avatar user (sudut kanan atas) dan dari menu drop-down, pilih Settings:

gitlab access user profile

Di sini Anda dapat mengubah Nama, Email, dan informasi serta pengaturan profil lainnya. Buat perubahan sesuai keinginan Anda.

Setelah selesai klik tombol Update Profile settings dan Anda akan segera menerima email konfirmasi ke alamat yang Anda berikan. Untuk mengonfirmasi akun, ikuti instruksi yang diberikan dalam email.

3. Mengubah username

Untuk mengakses halaman Profil, klik Account dari menu navigasi vertikal sebelah kiri.

Seperti yang Anda sudah tahu username default dari akun administratif adalah root. Untuk mengubahnya cukup ketik nama user baru dan klik tombol Update username.

gitlab change user name

Pada layar ini, Anda juga dapat mengaktifkan otentikasi dua faktor.

Lain kali Anda akan masuk ke dasbor GitLab, Anda harus memasukkan username baru.

4. Menambahkan SSH Key

Untuk dapat push perubahan git lokal Anda ke server GitLab, Anda harus menambahkan public key SSH ke akun GitLab Anda.

Jika Anda telah membuat SSH key pair di sistem lokal, Anda dapat menampilkan public key dengan mengetik:

cat ~/.ssh/id_rsa.pub

Outputnya akan terlihat seperti berikut:

ssh-rsa AAAAB3NzaC1yc2EABBADWQBAANGAQDd/mnMfgFeuzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

Jika perintah di atas mencetak output No such file or directory, berarti tidak ada SSH key pair yang dihasilkan pada mesin Anda.

Untuk menghasilkan SSH key pair baru gunakan perintah berikut:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Salin output dari perintah cat dan kembali ke antarmuka web GitLab. Klik SSH Keys dari menu navigasi vertikal sebelah kiri untuk mengakses halaman konfigurasi SSH Keys.

Di bagian Text key, tempelkan public key yang sebelumnya Anda salin dari mesin lokal Anda, atur judul deskriptif dan klik tombol Add key:

gitlab add ssh key

Sekarang Anda harus dapat push dan pull perubahan proyek Anda dari komputer lokal tanpa harus memberikan kredensial akun GitLab Anda.

Kesimpulan

Tutorial ini memandu Anda melalui instalasi dan konfigurasi GitLab di Ubuntu 18.04. Anda juga belajar cara mengedit pengaturan profil, cara mengubah nama user serta menambahkan SSH key. Anda sekarang dapat membuat proyek pertama  dan mulai menggunakan GitLab.