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: * IPv4: 80.67.169.54 * IPv6: 2001:910:800::54 * CPU: 4x vCPU * RAM: 6Go * Disk: 60Go 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). * [[https://tc14.fdn.fr:8006/]] * [[https://r5d4.fdn.fr:8006/]] 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 * IPv4: 80.67.188.197 * IPv6: 2001:913:10:500::1 * CPU: 1x vCPU * RAM: 2Go * Disk: 20Go 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`