GitLab adalah platform kontrol versi gratis, open-source, berbasis web yang memungkinkan Anda untuk mengelola semua repositori Git Anda dari server terpusat. GitLab adalah alternatif yang bagus untuk Github, menawarkan fitur yang sangat berguna termasuk tinjauan kode, manajemen masalah, percabangan repositori, penggabungan, pelacakan waktu, dan integrasi dan penyebaran berkelanjutan. GitLab dirancang khusus bagi pengembang untuk membuat, meninjau, dan menerapkan proyek mereka.
GitLab tersedia dalam tiga edisi berbeda:Community Edition (CE), Enterprise Edition (EE), dan versi yang di-host oleh GitLab. Anda dapat menginstal salah satunya tergantung pada persyaratan kasus penggunaan Anda.
Dalam tutorial ini, kami akan menunjukkan cara menginstal GitLab CE di CentOS 8.
Prasyarat
- VPS CentOS 8 baru di Platform Cloud Atlantic.Net.
- CPU dengan 2 inti untuk mendukung hingga 500 pengguna.
- Minimal 4 GB RAM untuk mendukung hingga 50 pengguna.
- Nama domain yang valid menunjuk ke IP server Anda.
- Kata sandi root yang dikonfigurasi di server Anda.
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih CentOS 8 sebagai sistem operasi dengan setidaknya 4GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server CentOS 8 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Selanjutnya, Anda perlu menginstal beberapa dependensi yang diperlukan pada sistem Anda. Anda dapat menginstal semuanya dengan perintah berikut:
dnf install curl policycoreutils python3-policycoreutils -y
Langkah 2 – Instal GitLab CE
Anda dapat menginstalnya dengan perintah berikut:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
Setelah repositori ditambahkan, Anda akan mendapatkan output berikut:
Selanjutnya, instal GitLab CE dengan menjalankan perintah berikut:
dnf install gitlab-ce -y
Setelah instalasi berhasil diselesaikan, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 3 – Amankan GitLab dengan Let's Encrypt
Selanjutnya, Anda perlu mengatur URL GitLab dan mengaktifkan integrasi Let's Encrypt. Anda dapat melakukannya dengan mengedit file /etc/gitlab/gitlab.rb:
nano /etc/gitlab/gitlab.rb
Ubah baris berikut yang sesuai dengan nama domain Anda dan aktifkan integrasi Let's Encrypt dengan nilai yang Anda inginkan:
external_url 'https://gitlab.example.com' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = 12 letsencrypt['auto_renew_minute'] = 15 letsencrypt['auto_renew_day_of_month'] = "*/4"
Simpan dan tutup file setelah Anda selesai. Kemudian, konfigurasi ulang GitLab CE dengan perintah berikut:
gitlab-ctl reconfigure
Perintah ini akan mengkonfigurasi ulang GitLab dan mengamankannya dengan Let's Encrypt SSL. Setelah penyiapan GitLab berhasil diselesaikan, Anda akan mendapatkan output berikut:
* execute[reload prometheus] action run - execute /opt/gitlab/bin/gitlab-ctl hup prometheus Recipe: monitoring::alertmanager * runit_service[alertmanager] action restart (up to date) Recipe: monitoring::postgres-exporter * runit_service[postgres-exporter] action restart (up to date) Recipe: monitoring::grafana * runit_service[grafana] action restart (up to date) Recipe: nginx::enable * execute[reload nginx] action run - execute gitlab-ctl hup nginx Recipe: letsencrypt::enable * ruby_block[display_le_message] action run - execute the ruby block display_le_message Recipe: crond::enable * runit_service[crond] action restart (up to date) Running handlers: Running handlers complete Chef Client finished, 609/1641 resources updated in 10 minutes 43 seconds Warnings: Environment variable LANG specifies a non-UTF-8 locale. GitLab requires UTF-8 encoding to function properly. Please check your locale settings. gitlab Reconfigured!
Langkah 4 – Akses UI Web GitLab
Pada titik ini, GitLab diinstal dan dikonfigurasi, dan sekarang Anda dapat mengakses UI GitLab dengan mengunjungi URL https://gitlab.example.com. Anda akan diarahkan ke layar perubahan kata sandi seperti yang ditunjukkan di bawah ini:
Tetapkan kata sandi baru untuk pengguna root dan klik tombol Ubah Anda sandi tombol. Setelah sandi berhasil diubah, Anda akan melihat layar login GitLab:
Masukkan root sebagai nama pengguna Anda, sandi yang Anda tentukan, dan klik Tanda di tombol. Anda akan melihat dasbor GitLab di layar berikut:
Langkah 5 – Nonaktifkan Pendaftaran Pengguna
Untuk menonaktifkan Pendaftaran Pengguna, klik Admin area seperti yang ditunjukkan di bawah ini:
Sekarang, klik Setelan di panel kiri. Anda akan melihat halaman berikut:
Selanjutnya, Luaskan pembatasan Pendaftaran. Anda akan melihat halaman berikut:
Selanjutnya, hapus centang pada tombol Sign-up enabled untuk menonaktifkan Pendaftaran pengguna di halaman selamat datang GitLab dan klik tombol Simpan Perubahan tombol.
Selanjutnya, keluar dari dasbor GitLab Anda. Anda akan melihat layar berikut:
Seperti yang Anda lihat, tab untuk pendaftaran pengguna tidak ada.
Langkah 6 – Otomatiskan Pencadangan GitLab
Anda dapat mengambil cadangan lengkap data GitLab dengan perintah berikut:
gitlab-rake gitlab:backup:create
Perintah ini akan mengambil cadangan lengkap data GitLab dan menyimpannya di direktori /var/opt/gitlab/backups. Setelah pencadangan berhasil diselesaikan, Anda akan mendapatkan output berikut:
2020-03-22 10:59:34 -0400 -- Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] 2020-03-22 10:59:37 -0400 -- done 2020-03-22 10:59:37 -0400 -- Dumping repositories ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping uploads ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping builds ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping artifacts ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping pages ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping lfs objects ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping container registry images ... 2020-03-22 10:59:38 -0400 -- done Creating backup archive: 1584889178_2020_03_22_12.9.0_gitlab_backup.tar ... done Uploading backup archive to remote storage ... skipped Deleting tmp directories ... done done done done done done done done done Deleting old backups ... skipping Backup task is done.
Disarankan untuk menjadwalkan pencadangan dengan Cron sehingga Anda tidak perlu menjalankan pencadangan secara teratur.
Anda dapat menjadwalkan pencadangan dengan mengedit file berikut:
nano /etc/crontab
Tambahkan baris berikut untuk mencadangkan data GitLab setiap hari pada pukul 20:00:
0 20 * * * gitlab-rake gitlab:backup:create
Simpan dan tutup file setelah Anda selesai.
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi GitLab CE di server CentOS 8. Anda sekarang dapat meng-host repositori Anda sendiri dengan GitLab dan mulai berkolaborasi dengan pengembang lain hari ini dengan GitLab di VPS dengan Atlantic.Net!