GNU/Linux >> Linux Esercitazione >  >> FreeBSD

Come installare Gitlab su FreeBSD

GitLab è un sistema di controllo della versione basato sul web e sviluppo di software collaborativo basato su Git. Le sue caratteristiche includono cose come il repository di codice, il wiki o il sistema di rilevamento dei problemi. In questo articolo ti mostrerò come installare la Community Edition di GitLab su FreeBSD.

Facciamolo

Banca dati

L'unico database supportato è PostgreSQL. Puoi seguire questo tutorial se non ne hai uno in esecuzione:https://unixcop.com/how-to-install-postgresql-in-freebsd/ .

Avremo bisogno dell'estensione pgtrgm, se non hai la porta postgresl_contrib, installala con:

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

Se stai usando dei pacchetti, installalo con:

pkg add postgresql14-contrib

Crea un utente del database chiamato git e il database di produzione 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

Quindi connettiti al database gitlabhq_production e abilita l'estensione 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

Ora, compiliamo gitlab-ce e le sue dipendenze:

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

Ciò richiederà più o meno tempo a seconda delle porte già installate. Seguire le istruzioni sullo schermo. La compilazione di tutto ha richiesto un paio d'ore nel mio computer lento:

Redis

La cache Redis deve essere installata con la porta gitlab-ce; se non hai installato esegui:

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

Aggiungi le seguenti righe al file di configurazione /usr/local/etc/redis.conf :

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

Ciò abiliterà e concederà le autorizzazioni al socket redis. Ora abilita i servizi redis e avvialo:

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

Aggiungi l'utente git al gruppo redis e abbiamo finito con la configurazione di redis:

#  pw groupmod redis -m git

Preconfigurazione Gitlab

Dobbiamo fare un po' di lavoro in più.

Cambia la directory home dell'utente git

Gitlab si aspetta che la home directory dell'utente git sia /usr/home/git . Puoi cambiarlo con:

# chsh git

Poiché non mi piace il programma vi, cambierò in ee con questo comando:

 # EDITOR=/usr/bin/ee chsh git

Configura gitlab

Vai alla directory di installazione di gitlab e modifica il file di configurazione:

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

Quindi, sto cambiando host:localhost → host:192.168.122.234 (il mio IP poiché non ho un nome di dominio completo in questa macchina virtuale di test) e non utilizzo https per questo tutorial. E per email_from sto usando un generico noreply@localhost . Puoi cercare questi elementi premendo ctrl-y nell'editor ee.

In config/unicorn.rb impostare il numero di lavoratori almeno al numero di core:

# ee config/unicorn.rb

Passa a git user ed esegui quanto segue:

# 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

Il primo è per l'editor web che necessita di autocrlf; il secondo è perché GitLab eseguirà "git gc" quando necessario; il terzo abilita le bitmap dei file di pacchetto; e l'ultimo abilita le opzioni push.

Configura le impostazioni del database in config/database.yml :

Inizializza il DB

Concedi autorizzazioni di scrittura temporanee all'utente git:

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

Inizializza il database con questo comando (come utente git):

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

Torna all'utente root e annulla le autorizzazioni temporanee:

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

Ci siamo quasi, controlliamo se tutto fino ad ora è configurato correttamente:

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

Ora, continua (come utente git) a compilare i file e le risorse di 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

Ora abilita e avvia il servizio GitLab, esegui come root:

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

Nginx

Ngninx è il server web ufficialmente supportato. Installalo con:

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

La configurazione di nginx è piuttosto semplice:includi la configurazione fornita da gitlab aggiungendo la seguente riga all'interno del blocco http in /usr/local/etc/nginx/nginx.conf :

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

Abilita e avvia Nginx:

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

Primo accesso

Come visto al termine dell'inizializzazione del database, ti verrà chiesto di cambiare la password di root:

E il gioco è fatto, ora puoi accedere con l'utente root e la nuova password e iniziare a lavorare.

Dove andare da qui

Come dico sempre:vai alla documentazione, in GitLab è presente il menu in alto a destra dello schermo:

E nella schermata successiva troverai alcuni link utili come:


FreeBSD
  1. Come installare Git su Ubuntu 18.04 / 20.04

  2. Come installare Git su CentOS 8

  3. Come installare Git su AlmaLinux

  4. Come installare Git su Ubuntu 18.04

  5. Come installare Git su CentOS 8

Come installare mediawiki su FreeBSD

Come installare HAProxy su FreeBSD

Come installare Git su AlmaLinux 8

Come installare Git su Manjaro 20

Come installare Gitlab su Debian 8

Come installare Gitlab su Debian 11