GNU/Linux >> Znalost Linux >  >> FreeBSD

Jak nainstalovat Gitlab na FreeBSD

GitLab je webový systém správy verzí a kolaborativní vývoj softwaru založený na Gitu. Mezi jeho funkce patří věci jako úložiště kódu, wiki nebo systém sledování problémů. V tomto článku vám ukážu, jak nainstalovat komunitní edici GitLab na FreeBSD.

Pojďme na to

Databáze

Jedinou podporovanou databází je PostgreSQL. Pokud nemáte žádný spuštěný, můžete se řídit tímto návodem:https://unixcop.com/how-to-install-postgresql-in-freebsd/ .

Budeme potřebovat rozšíření pgtrgm, pokud nemáte port postgresl_contrib, nainstalujte jej pomocí:

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

Pokud používáte balíčky, nainstalujte je pomocí:

pkg add postgresql14-contrib

Vytvořte uživatele databáze s názvem git a produkční databázi 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

Dále se připojte k databázi gitlabhq_production a povolte rozšíření 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

Nyní pojďme zkompilovat gitlab-ce a jeho závislosti:

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

To zabere více či méně času v závislosti na již nainstalovaných portech. Postupujte podle pokynů na obrazovce. Kompilace všeho trvala v mém pomalém počítači několik hodin:

Redis

Mezipaměť Redis by měla být instalována s portem gitlab-ce; pokud jste nenainstalovali, spusťte:

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

Přidejte následující řádky do konfiguračního souboru /usr/local/etc/redis.conf :

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

Tím povolíte a udělíte oprávnění k soketu redis. Nyní povolte služby redis a spusťte je:

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

Přidejte uživatele git do skupiny redis a máme hotovo s konfigurací redis:

#  pw groupmod redis -m git

Předkonfigurace Gitlabu

Musíme udělat nějakou práci navíc.

Změňte domovský adresář uživatele git

Gitlab očekává, že domovský adresář uživatele git bude /usr/home/git . Můžete to změnit pomocí:

# chsh git

Protože se mi nelíbí program vi, změním se na ee pomocí tohoto příkazu:

 # EDITOR=/usr/bin/ee chsh git

Nakonfigurujte gitlab

Přejděte do instalačního adresáře gitlab a upravte konfigurační soubor:

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

Takže měním host:localhost → host:192.168.122.234 (moje IP, protože v tomto testovacím vm nemám FQDN) a nepoužívám https pro tento tutoriál. A pro email_from používám obecný noreply@localhost . Tyto položky můžete vyhledat stisknutím ctrl-y v editoru ee.

V config/unicorn.rb nastavte počet pracovníků alespoň na počet jader:

# ee config/unicorn.rb

Změňte na git user a spusťte následující:

# 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

První je pro webový editor, který potřebuje autocrlf; za druhé je to proto, že GitLab v případě potřeby spustí „git gc“; třetí umožňuje bitmapy souborů balíčků; a poslední umožňuje volby push.

Nakonfigurujte nastavení databáze v config/database.yml :

Inicializovat DB

Udělte dočasné oprávnění k zápisu uživateli git:

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

Inicializujte databázi tímto příkazem (jako uživatel git):

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

Vraťte se k uživateli root a zrušte dočasná oprávnění:

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

Už jsme skoro tam, pojďme zkontrolovat, zda je vše až dosud správně nakonfigurováno:

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

Nyní pokračujte (jako uživatel git) v kompilaci souborů GetText PO a aktiv:

$ 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

Nyní povolte a spusťte službu GitLab, spusťte jako root:

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

Nginx

Ngninx je oficiálně podporovaný webový server. Nainstalujte jej pomocí:

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

Konfigurace nginx je docela jednoduchá:zahrňte konfiguraci poskytnutou gitlab přidáním následujícího řádku do bloku http v /usr/local/etc/nginx/nginx.conf :

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

Povolte a spusťte Nginx:

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

První přihlášení

Jak je vidět na konci inicializace databáze, budete požádáni o změnu hesla root:

A je to, nyní se můžete přihlásit s uživatelem root a novým heslem a začít pracovat.

Kam jít odtud

Jak vždy říkám:přejděte na dokumentaci, v GitLabu je zahrnuta v nabídce vpravo nahoře na obrazovce:

A na další obrazovce najdete několik užitečných odkazů jako:


FreeBSD
  1. Jak nainstalovat Git na Ubuntu 18.04 / 20.04

  2. Jak nainstalovat Git na CentOS 8

  3. Jak nainstalovat Git na AlmaLinux

  1. Jak nainstalovat Git na Ubuntu 18.04

  2. Jak nainstalovat Git na CentOS 8

  3. Jak nainstalovat Git na Debian 9

  1. Jak nainstalovat Git na Debian 11

  2. Jak nainstalovat GitLab v Ubuntu 20.04

  3. Jak nainstalovat Gitlab na CentOS 8