Pour remplacer son instance GitLab auto-hébergée (trop gourmande en ressources pour un usage personnel), l’auteur a migré vers Forgejo (fork de Gitea) en utilisant Terraform pour automatiser la transition. Plutôt que d’utiliser des scripts de migration obsolètes, il a exploité les providers Terraform pour GitLab et Gitea/Forgejo : le code liste les projets source, les recrée en mode miroir sur la nouvelle forge, puis bascule le domaine. La CI/CD a été réécrite en workflows Forgejo Actions (similaires à GitHub Actions), simplifiant le processus et réduisant significativement la consommation de ressources (10 Go de RAM et 10 % d’espace disque gagnés). Une approche efficace et maintenable, qui montre comment détourner Terraform pour des besoins ponctuels. Le gain en performance et en simplicité est notable, surtout pour un petit serveur.
Ce billet détaille la migration d’une instance GitLab vers un nouveau serveur, motivée par la fin de vie de CentOS. L’auteur a opté pour AlmaLinux 9, compatible avec les paquets RedHat. La procédure repose sur la documentation officielle de GitLab et s’applique à toute distribution supportée.
Étapes clés :
- Installation : Installer GitLab sur le nouveau serveur en utilisant la même version que l’ancien, après avoir mis à jour le système et ajouté les dépôts GitLab.
- Sauvegarde et transfert : Créer une sauvegarde complète de l’instance existante, transférer les fichiers de configuration (
gitlab.rb,gitlab-secrets.json) et les backups vers le nouveau serveur viarsync. - Restauration : Arrêter les services, restaurer la sauvegarde, puis relancer et vérifier l’intégrité des données avec des commandes comme
gitlab-rake gitlab:checketgitlab:doctor:secrets. - Finalisation : Mettre à jour les enregistrements DNS ou l’IP, puis effectuer les mises à jour progressives de GitLab pour éviter les ruptures. L’auteur recommande aussi de réinstaller GitLab Runner si nécessaire et de configurer des sauvegardes automatiques régulières.
L’article souligne l’importance de suivre les versions intermédiaires lors des mises à jour pour garantir la stabilité.
Cet article explique comment configurer un "git credential helper" OAuth sur Debian et Microsoft WSL pour se connecter à GitLab, évitant ainsi de stocker des mots de passe ou des jetons d'accès personnels. Pour Debian, il utilise git-credential-oauth, tandis que pour WSL, il utilise le "Git Credential Manager" inclus avec "Git for Windows". Des instructions détaillées sont fournies pour chaque environnement, y compris la configuration pour des instances GitLab auto-hébergées.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'auteur montre comment cloner ou forker un dépôt Github ou Gitlab