Sejak GitHub diperolehi oleh Microsoft, beberapa pemaju telah merancang untuk memindahkan repositori kod mereka sendiri dari github.com kepada penyelesaian sendiri yang dihoskan alternatif. Edisi Komuniti GitLab (CE) adalah pilihan yang paling umum.
Sebagai penyelesaian yang canggih dan fleksibel, GitLab CE boleh digunakan menggunakan pelbagai kaedah, tetapi hanya kaedah yang disyorkan secara rasmi, pemasangan pakej Omnibus, akan dibincangkan di sini.
Prasyarat
- Contoh pelayan Vultr Ubuntu 18.04 LTS x64 segar dengan sekurang-kurangnya 4GB memori. 8GB atau lebih disyorkan untuk berkhidmat sehingga 100 pengguna. Katakan alamat IPv4nya adalah
203.0.113.1
.
- Pengguna sudo .
- Satu domain
gitlab.example.com
yang menunjuk ke arah contoh yang disebutkan di atas.
Nota: Apabila menggunakan contoh pelayan anda sendiri, pastikan anda menggantikan semua nilai contoh dengan yang sebenar.
Nyalakan terminal SSH, dan log masuk ke contoh server Ubuntu 18.04 LTS x64 anda sebagai pengguna sudo.
Tambah partition swap dan tweak setting swappiness
Apabila menggunakan GitLab CE 11.x pada mesin dengan memori 4GB, ia diperlukan untuk menyiapkan partition swap 4GB untuk berjalan lancar:
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Nota: Sekiranya anda menggunakan saiz server yang berbeza, saiz partition swap mungkin berbeza-beza.
Untuk tujuan prestasi sistem, disarankan untuk mengkonfigurasi tetapan swap ke kernel ke nilai yang rendah seperti 10
:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
Output cat
perintah itu akan 10
.
Persediaan nama hos mesin dan nama domain yang memenuhi syarat (FQDN)
Gunakan arahan berikut untuk menyediakan nama host gitlab
, dan FQDN gitlab.example.com
, untuk mesin:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Anda boleh mengesahkan hasilnya:
hostname
hostname -f
Ubah suai peraturan firewall
Benarkan trafik SSH, HTTP dan HTTPS masuk
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Kemas kini sistem
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Semasa peningkatan, anda mungkin dimaklumkan bahawa versi fail konfigurasi grub yang telah dipasang sekarang telah diubah suai secara tempatan. Oleh kerana kami sebenarnya tidak bertanggungjawab untuk pengubahsuaian, gunakan UPanak panah untuk menyorot install the package maintainer's version
pilihan, dan kemudian tekan ENTER.
Apabila sistem dihidupkan dan berjalan semula, log masuk kembali sebagai pengguna sudo yang sama untuk meneruskannya.
Langkah 2: Pasang dependensi yang diperlukan
Sebelum memasang GitLab CE, anda perlu memasang pergantungan yang diperlukan:
sudo apt install -y curl openssh-server ca-certificates
Juga, jika anda ingin menggunakan Postfix untuk mengirim mesej pemberitahuan, anda perlu memasang Postfix:
sudo apt install -y postfix
Semasa pemasangan, skrin konfigurasi mungkin muncul:
- Tekan TABuntuk menyerlahkan
<OK>
butang pada skrin pertama, dan kemudian tekan ENTER.
- Pilih
Internet Site
dan tekan ENTER.
- Untuk
mail name
medan, masukkan FQDN pelayan anda gitlab.example.com
dan tekan ENTER.
- Sekiranya skrin lain muncul, tekan ENTERuntuk menerima tetapan lalai.
Mulakan dan aktifkan perkhidmatan Postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Ubah suai peraturan firewall untuk Postfix:
sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'
Setelah Postfix dipasang, anda perlu mengkonfigurasi Postfix dengan mengedit fail konfigurasi utamanya /etc/postfix/main.cf
sesuai dengan tetapan pelayan anda yang sebenarnya.
Nota: Sebagai tambahan kepada arahan di atas, anda perlu menghantar tiket sokongan untuk membatalkan blok lalai Vultr pada port SMTP 25.
Sebagai alternatif, jika anda ingin menggunakan penyelesaian pemesejan lain, langkau pasang Postfix dan pilih untuk menggunakan pelayan SMTP luaran setelah GitLab CE dipasang.
Langkah 3: Persediaan GtLab APT repo dan kemudian pasang GitLab CE
Persediaan repositori AP GitLab CE pada sistem anda:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Seterusnya, pasang GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
Pemasangan mungkin mengambil sedikit masa.
Akhir sekali, arahkan pelayar web kegemaran anda http://gitlab.example.com
, dan kemudian serahkan kata laluan baru seperti yang diminta untuk menyelesaikan pemasangan.
Mulai sekarang, gunakan kelayakan berikut untuk log masuk sebagai pentadbir:
- Nama pengguna:
root
- Kata Laluan:
<your-new-password>
Langkah 4: Dayakan akses HTTPS dengan mengintegrasikan Sijil Sijil SSL
Buat masa ini, anda telah berjaya memasang GitLab CE 11.x pada contoh pelayan anda, dan pengguna sudah boleh mengunjungi laman web ini menggunakan protokol HTTP. Untuk tujuan keselamatan, disyorkan untuk membolehkan akses HTTPS ke pelayan GitLab anda dengan mengintegrasikan Sijil Encik Sijil SSL.
Gunakan vi
editor untuk membuka fail konfigurasi CE GitLab:
sudo vi /etc/gitlab/gitlab.rb
Cari dua baris berikut:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Gantikannya dengan sewajarnya:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']
Simpan dan tutup:
:wq!
Kembalikan semula GitLab CE menggunakan tetapan yang dikemas kini:
sudo gitlab-ctl reconfigure
Penyusunan semula mungkin memerlukan sedikit masa.
Selepas konfigurasi semula selesai, semua pengguna akan terpaksa menggunakan protokol HTTPS semasa mengakses laman GitLab.
Nota: Selepas beralih dari HTTP ke HTTPS, kuki warisan boleh menyebabkan ralat GitLab 422. Mengosongkan kuki akan menyelesaikan masalah ini.