Nous utilisons le logiciel GitLab pour faire tourner https://code.ffdn.org/.
GitLab est installé via le paquet « tout en un » Omnibus, nous l'avons donc installé sur une machine tout seul.
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
)
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
).
Les mises à jour sont simples, via le gestionnaire de paquets: apt update; apt dist-upgrade; apt autoremove --purge; apt clean
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.
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/.
Les mises à jour sont simples, via le gestionnaire de paquets: apt update; apt dist-upgrade; apt autoremove --purge; apt clean