Table des matières

Nous utilisons le logiciel GitLab pour faire tourner https://code.ffdn.org/.

GitLab

GitLab est installé via le paquet « tout en un » Omnibus, nous l'avons donc installé sur une machine tout seul.

Machine virtuelle

FDN sponsorise la machine virtuelle mercure.ffdn.org:

Les comptes UNIX de youpi, taziden, zorun, sebian et capslock sont configurés sur l'interface web de proxmox (pour accéder à la console, stopper et démarrer la vm).

Les comptes UNIX sur la machine mercure, sont gérés par le playbook ansible users, voir: https://code.ffdn.org/ffdn/adminsys/-/tree/master/ansible Le mot de passe root est dans le password-store (du même dépôt GIT).

Le répertoire /etc de mercure est géré par etckeeper, à chaque commit un hook envoie/sauvegarde dans un repo « GIT Bare » sur hermes (hermes.ffdn.org:/srv/nfs/backups/mercure.git)

Installation de GitLab

Via les dépôts APT voir: https://docs.gitlab.com/omnibus/installation/. La configuration de GitLab se fait dans le fichier /etc/gitlab/gitlab.rb (suivie d'un gitlab-ctl reconfigure).

Mise à jour

Les mises à jour sont simples, via le gestionnaire de paquets: apt update; apt dist-upgrade; apt autoremove --purge; apt clean

Sauvegardes

Configuré dans /etc/cron.daily/gitlab-backup, nous utilisons la tâche rake de GitLab pour tout sauvegarder /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1 cette tâche crée une archive tar.gz dans /var/opt/gitlab/backups/, chaque nuit une autre tâche cron envoie ces backups vers hermes.ffdn.org:/srv/nfs/backups/gitlab/ via rsync.

GitLab-Runner

Pour les fonctionnalités de « CI/CD » de GitLab, Lorraine Data Network sponsorise une machine virtuelle : hera.ffdn.org

GitLab-runner et docker sont installés sur cette machine via les dépôts APT, voir la doc externe : https://docs.gitlab.com/runner/.

Mise à jour

Les mises à jour sont simples, via le gestionnaire de paquets: apt update; apt dist-upgrade; apt autoremove --purge; apt clean