GNU/Linux >> Tutoriels Linux >  >> FreeBSD

Comment installer Gitlab sur FreeBSD

GitLab est un système de contrôle de version basé sur le Web et un développement logiciel collaboratif basé sur Git. Ses fonctionnalités incluent des éléments tels que le référentiel de code, le wiki ou le système de suivi des problèmes. Dans cet article, je vais vous montrer comment installer l'édition communautaire de GitLab sur FreeBSD.

Faisons-le

Base de données

La seule base de données prise en charge est PostgreSQL. Vous pouvez suivre ce tutoriel si vous n'en avez pas en cours d'exécution :https://unixcop.com/how-to-install-postgresql-in-freebsd/ .

Nous aurons besoin de l'extension pgtrgm, si vous n'avez pas le port postgresl_contrib, installez-le avec :

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

Si vous utilisez des packages, installez-le avec :

pkg add postgresql14-contrib

Créez un utilisateur de base de données appelé git et la base de données de production 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

Connectez-vous ensuite à la base de données gitlabhq_production et activez l'extension 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

Compilons maintenant gitlab-ce et ses dépendances :

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

Cela prendra plus ou moins de temps selon les ports déjà installés. Suivez les instructions à l'écran. La compilation de tout a pris quelques heures sur mon ordinateur lent :

Redis

Le cache Redis doit être installé avec le port gitlab-ce ; si vous n'avez pas installé exécutez :

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

Ajoutez les lignes suivantes au fichier de configuration /usr/local/etc/redis.conf :

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

Cela activera et accordera des autorisations au socket redis. Activez maintenant les services Redis et démarrez-les :

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

Ajoutez l'utilisateur git au groupe redis et nous en avons terminé avec la configuration redis :

#  pw groupmod redis -m git

Préconfiguration Gitlab

Nous devons faire du travail supplémentaire.

Modifier le répertoire personnel de l'utilisateur git

Gitlab s'attend à ce que le répertoire personnel de l'utilisateur git soit /usr/home/git . Vous pouvez le modifier avec :

# chsh git

Comme je n'aime pas le programme vi, je vais changer en ee avec cette commande :

 # EDITOR=/usr/bin/ee chsh git

Configurer gitlab

Accédez au répertoire d'installation de gitlab et modifiez le fichier de configuration :

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

Donc, je change host :localhost → host :192.168.122.234 (mon adresse IP car je n'ai pas de nom de domaine complet dans cette machine virtuelle de test), et je n'utilise pas https pour ce tutoriel. Et pour email_from j'utilise un noreply@localhost générique . Vous pouvez rechercher ces éléments en appuyant sur ctrl-y dans l'éditeur ee.

Dans config/unicorn.rb définissez le nombre de nœuds de calcul sur au moins le nombre de cœurs :

# ee config/unicorn.rb

Passez à l'utilisateur git et exécutez ce qui suit :

# 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

Le premier est pour l'éditeur Web qui a besoin d'autocrlf; la seconde, c'est parce que GitLab exécutera "git gc" en cas de besoin ; le troisième active les bitmaps packfile ; et le dernier active les options push.

Configurez les paramètres de la base de données dans config/database.yml :

Initialiser la BD

Accordez des autorisations d'écriture temporaires à l'utilisateur git :

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

Initialisez la base de données avec cette commande (en tant qu'utilisateur git) :

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

Revenez à l'utilisateur root et annulez les autorisations temporaires :

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

Nous y sommes presque, vérifions si tout jusqu'à présent est configuré correctement :

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

Maintenant, continuez (en tant qu'utilisateur git) à compiler les fichiers et ressources 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

Maintenant, activez et démarrez le service GitLab, exécutez en tant que root :

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

Nginx

Ngninx est le serveur Web officiellement pris en charge. Installez-le avec :

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

La configuration de nginx est assez simple :incluez la configuration fournie par gitlab en ajoutant la ligne suivante dans le bloc http dans /usr/local/etc/nginx/nginx.conf :

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

Activer et démarrer Nginx :

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

Première connexion

Comme vu à la fin de l'initialisation de la base de données, il vous sera demandé de changer le mot de passe root :

Et ça y est, vous pouvez maintenant vous connecter avec l'utilisateur root et le nouveau mot de passe, et commencer à travailler.

Où aller à partir d'ici

Comme je le dis toujours :allez dans la documentation, dans GitLab, c'est inclus dans le menu en haut à droite de l'écran :

Et dans l'écran suivant, vous trouverez des liens utiles comme :


FreeBSD
  1. Comment installer Git sur Ubuntu 18.04 / 20.04

  2. Comment installer Git sur CentOS 8

  3. Comment installer Git sur AlmaLinux

  4. Comment installer Git sur Ubuntu 18.04

  5. Comment installer Git sur CentOS 8

Comment installer mediawiki sur FreeBSD

Comment installer HAProxy sur FreeBSD

Comment installer Git sur AlmaLinux 8

Comment installer Git sur Manjaro 20

Comment installer Gitlab sur Debian 8

Comment installer Gitlab sur Debian 11