GitLab adalah platform DevOps gratis dan open-source yang memungkinkan tim untuk melakukan iterasi lebih cepat dan berinovasi bersama. Ini adalah alat berbasis web yang dikembangkan oleh GitLab Inc. Ini sangat mirip dengan GitHub dan menyediakan manajer repositori Git yang menyediakan wiki, pelacakan masalah, dan integrasi dan penyebaran berkelanjutan. Edisi komunitas GitLab tersedia gratis untuk lingkungan pengembangan dan produksi.
Dalam tutorial ini, saya akan menunjukkan cara menginstal GitLab dengan Nginx dan Let's Encrypt SSL di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11 dengan RAM minimal 8 GB.
- Nama domain yang valid ditunjukkan dengan IP server.
- Kata sandi root dikonfigurasi di server.
Memulai
Sebelum memulai, disarankan untuk memperbarui cache paket Anda ke versi terbaru. Anda dapat melakukannya dengan perintah berikut:
apt-get update -y
Setelah selesai, instal dependensi lain yang diperlukan menggunakan perintah berikut:
apt-get install curl ca-certificates apt-transport-https gnupg2 -y
Setelah semua dependensi yang diperlukan diinstal, Anda dapat melanjutkan ke langkah berikutnya.
Tambahkan Repositori GitLab
Secara default, paket GitLab tidak tersedia di repositori default Debian. Jadi, Anda perlu menambahkan repositori GitLab ke APT.
Anda dapat menambahkannya dengan menjalankan skrip berikut:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
Ini akan menambahkan repositori GitLab ke file daftar sumber APT.
Saat artikel ini ditulis, paket GitLab tidak tersedia untuk Debian 11. Jadi, Anda perlu mengedit file sumber GitLab dan mengganti nama kode Debian 11 dengan Debian 10:
nano /etc/apt/sources.list.d/gitlab_gitlab-ce.list
Temukan baris berikut:
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main
Ganti dengan baris berikut:
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main
Simpan dan tutup file kemudian perbarui repositori dengan perintah berikut:
apt-get update -y
Instal GitLab CE
Anda sekarang dapat menginstal GitLab CE dengan menjalankan perintah berikut:
apt-get install gitlab-ce -y
Setelah GitLab diinstal, Anda akan mendapatkan output berikut:
It looks like GitLab has not been configured yet; skipping the upgrade script. *. *. *** *** ***** ***** .****** ******* ******** ******** ,,,,,,,,,***********,,,,,,,,, ,,,,,,,,,,,*********,,,,,,,,,,, .,,,,,,,,,,,*******,,,,,,,,,,,, ,,,,,,,,,*****,,,,,,,,,. ,,,,,,,****,,,,,, .,,,***,,,, ,*,. _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md Help us improve the installation experience, let us know how we did with a 1 minute survey: https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-3
Konfigurasi GitLab
Pada titik ini, GitLab diinstal pada sistem Anda tetapi belum dikonfigurasi. Anda dapat mengonfigurasinya dengan mengedit file berikut:
nano /etc/gitlab/gitlab.rb
Ubah baris berikut dengan nama domain Anda:
external_url 'https://gitlab.linuxbuz.com'
Selanjutnya, ubah baris berikut untuk mengaktifkan Let's Encrypt SSL:
# Enable the Let's encrypt SSL letsencrypt['enable'] = true # This is optional to get SSL related alerts letsencrypt['contact_emails'] = ['[email protected]'] # This example renews every 7th day at 02:00 AM letsencrypt['auto_renew_hour'] = "2" letsencrypt['auto_renew_minute'] = "0" letsencrypt['auto_renew_day_of_month'] = "*/7"
Simpan dan tutup file kemudian konfigurasi ulang GitLab menggunakan perintah berikut:
gitlab-ctl reconfigure
Setelah GitLab dikonfigurasi ulang, Anda akan mendapatkan output berikut yang berisi kata sandi akses GitLab:
Notes: Default admin account has been configured with following details: Username: root Password: You didn't opt-in to print initial root password to STDOUT. Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours. NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password. gitlab Reconfigured!
Selanjutnya, ambil kata sandi akses GitLab menggunakan perintah berikut:
cat /etc/gitlab/initial_root_password
Anda akan melihat output berikut:
# WARNING: This value is valid only in the following conditions # 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run). # 2. Password hasn't been changed manually, either via UI or via command line. # # If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password. Password: WBgnk2SH4xK5FeJVsJX0Qo79IeyE5LSTGWm3EjDVEkw= # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
Akses GitLab
Sekarang Anda dapat mengakses dasbor GitLab menggunakan URL https://gitlab.linuxbuz.com . Anda akan diarahkan ke halaman login GitLab:
Berikan nama pengguna, sandi, dan klik Masuk tombol. Anda akan melihat dasbor GitLab pada layar berikut:
Konfigurasikan Pencadangan GitLab
Setelah instalasi, disarankan untuk mengambil cadangan lengkap GitLab. Anda dapat melakukannya dengan perintah berikut:
gitlab-rake gitlab:backup:create
Anda juga dapat menjadwalkan pencadangan dengan mengedit file /etc/crontab:
nano /etc/crontab
Tambahkan baris berikut:
0 22 * * * root gitlab-rake gitlab:backup:create
Simpan dan tutup file setelah Anda selesai.
Kesimpulan
Selamat! Anda telah berhasil menginstal GitLab dengan Nginx dan Let's Encrypt SSL di Debian 11. Sekarang Anda dapat mengimplementasikan GitLab di lingkungan pengembangan untuk mempercepat proses pengembangan perangkat lunak. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.