GNU/Linux >> Belajar Linux >  >> FreeBSD

Cara menginstal Gitlab di FreeBSD

GitLab adalah sistem kontrol versi berbasis web dan pengembangan perangkat lunak kolaboratif berdasarkan Git. Fitur-fiturnya mencakup hal-hal seperti repositori kode, wiki atau sistem pelacakan masalah. Dalam artikel ini saya akan menunjukkan kepada Anda cara menginstal Edisi Komunitas GitLab di FreeBSD.

Ayo kita lakukan

Basis Data

Satu-satunya database yang didukung adalah PostgreSQL. Anda dapat mengikuti tutorial ini jika Anda tidak menjalankannya:https://unixcop.com/how-to-install-postgresql-in-freebsd/ .

Kami akan membutuhkan ekstensi pgtrgm, jika Anda tidak memiliki port postgresl_contrib, instal dengan:

# cd /usr/ports/databases/postgresql14-contrib
make install clean

Jika Anda menggunakan paket, instal dengan:

pkg add postgresql14-contrib

Buat pengguna database bernama git dan database produksi gitlab:

root@fbsd:~ # su postgres
$ psql
psql (14beta1)
Type "help" for help.

postgres=# CREATE USER git CREATEDB SUPERUSER;
CREATE ROLE
postgres=# ALTER ROLE git WITH PASSWORD 'superpass';
ALTER ROLE
postgres=# CREATE DATABASE gitlabhq_production OWNER git;
CREATE DATABASE

Selanjutnya sambungkan ke database gitlabhq_production dan aktifkan ekstensi pg_trgm:

postgres=# \connect gitlabhq_production 
You are now connected to database "gitlabhq_production" as user "postgres".
gitlabhq_production=# CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION

GitLab-ce

Sekarang, mari kita kompilasi gitlab-ce dan dependensinya:

root@fbsd:~ # cd /usr/ports/www/gitlab-ce/
root@fbsd:/usr/ports/www/gitlab-ce # make install clean

Ini akan memakan waktu lebih atau kurang tergantung pada port yang sudah diinstal. Ikuti petunjuk di layar. Kompilasi semuanya memakan waktu beberapa jam di komputer saya yang lambat:

Merah

Cache redis harus diinstal dengan port gitlab-ce; jika Anda belum menginstal jalankan:

# cd /usr/ports/databases/redis
# make install clean

Tambahkan baris berikut ke file konfigurasi /usr/local/etc/redis.conf :

unixsocket /var/run/redis/redis.sock
unixsocketperm 770

Ini akan mengaktifkan dan memberikan izin ke soket redis. Sekarang aktifkan layanan redis dan mulai:

# /usr/local/etc/rd.d/redis enable
# /usr/local/etc/rd.d/redis start

Tambahkan pengguna git ke grup redis dan kita selesai dengan konfigurasi redis:

#  pw groupmod redis -m git

Prakonfigurasi Gitlab

Kita perlu melakukan beberapa pekerjaan ekstra.

Ubah direktori home pengguna git

Gitlab mengharapkan direktori home pengguna git menjadi /usr/home/git . Anda dapat mengubahnya dengan:

# chsh git

Karena saya tidak suka program vi, saya akan mengubahnya menjadi ee dengan perintah ini:

 # EDITOR=/usr/bin/ee chsh git

Konfigurasi gitlab

Buka direktori instalasi gitlab dan edit file konfigurasi:

# cd /usr/local/www/gitlab-ce
# ee config/gitlab.yml 

Jadi, saya mengubah host:localhost → host:192.168.122.234 (IP saya karena saya tidak memiliki FQDN di vm pengujian ini), dan tidak menggunakan https untuk tutorial ini. Dan untuk email_from saya menggunakan noreply@localhost generik . Anda dapat mencari item tersebut dengan menekan ctrl-y di editor ee.

Di config/unicorn.rb atur jumlah pekerja ke setidaknya jumlah inti:

# ee config/unicorn.rb

Ubah ke pengguna git dan jalankan yang berikut:

# su - git
$ git config --global core.autocrlf input
$ git config --global gc.auto 0
$ git config --global repack.writeBitmaps true
$ git config --global receive.advertisePushOptions true

Yang pertama adalah untuk web editor yang membutuhkan autocrlf; yang kedua karena GitLab akan menjalankan 'git gc' saat dibutuhkan; yang ketiga mengaktifkan bitmap packfile; dan yang terakhir mengaktifkan opsi push.

Konfigurasikan pengaturan database di config/database.yml :

Inisialisasi de DB

Berikan izin menulis sementara kepada pengguna git:

# chown git /usr/local/share/gitlab-shell

Inisialisasi database dengan perintah ini (sebagai pengguna git):

# su - git
$ cd /usr/local/www/gitlab-ce/
$ rake gitlab:setup RAILS_ENV=production

Kembali ke pengguna root dan batalkan izin sementara:

# chown root /usr/local/share/gitlab-shell 

Kami hampir sampai, mari kita periksa apakah semuanya sampai sekarang dikonfigurasi dengan benar:

# su - git 
$ cd /usr/local/www/gitlab-ce && rake gitlab:env:info RAILS_ENV=production

Sekarang, lanjutkan (sebagai pengguna git) kompilasi file dan aset GetText PO:

$ rake gettext:compile RAILS_ENV=production
Created app.js in /usr/local/www/gitlab-ce/app/assets/javascripts/locale/bg
Created app.js in /usr/local/www/gitlab-ce/app/assets/javascripts/locale/de
(...)
All files created, make sure they are being added to your assets.
If they are not, you can add them with this line (configurable):

//= require_tree ./locale
//= require gettext/all

$ yarn install --production --pure-lockfile
 yarn install v1.22.10
[1/5] Validating package.json...
[2/5] Resolving packages...
(...)
success Dependency postinstall check passed.
Done in 150.47s.
$ rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production
[long output that I didn't capture the begin because a distraction]
`gitlab:assets:fix_urls` finished in 31.47730386 seconds
`gitlab:assets:check_page_bundle_mixins_css_for_sideeffects` finished in 10.420508114 seconds
$ ^d

Sekarang aktifkan dan mulai layanan GitLab, jalankan sebagai root:

# /usr/local/etc/rc.d/gitlab enable
gitlab enabled in /etc/rc.conf
# /usr/local/etc/rc.d/gitlab start

Nginx

Ngninx adalah server web yang didukung secara resmi. Instal dengan:

# cd /usr/ports/www/nginx
make install clean

Konfigurasi nginx cukup sederhana:sertakan konfigurasi yang disediakan oleh gitlab dengan menambahkan baris berikut di dalam blok http di /usr/local/etc/nginx/nginx.conf :

include       /usr/local/www/gitlab-ce/lib/support/nginx/gitlab;

Aktifkan dan mulai Nginx:

# /usr/local/etc/rc.d/nginx enable
# /usr/local/etc/rd.d/nginx start

Masuk pertama

Seperti yang terlihat di akhir inisialisasi basis data, Anda akan diminta untuk mengubah kata sandi root:

Dan ini dia, Anda sekarang dapat login dengan pengguna root dan kata sandi baru, dan mulai bekerja.

Ke mana harus pergi dari sini

Seperti yang selalu saya katakan:buka dokumentasi, di GitLab disertakan dalam menu di kanan atas layar:

Dan di layar berikutnya Anda akan menemukan beberapa tautan berguna seperti:


FreeBSD
  1. Cara Menginstal Git di Ubuntu 18.04 / 20.04

  2. Cara Menginstal Git di CentOS 8

  3. Cara menginstal Git di AlmaLinux

  1. Cara Menginstal Git di Ubuntu 18.04

  2. Cara Menginstal Git di CentOS 8

  3. Cara Menginstal Git di Debian 9

  1. Cara Menginstal Git di Debian 11

  2. Cara Menginstal GitLab di Ubuntu 20.04

  3. Cara menginstal Gitlab di CentOS 8