Découverte et installation de Gitea, une alternative à Gitlab ultra rapide et super légère !
Introduction
L'objectif de ce tutoriel est de vous apprendre à installer Gitea sur un serveur Linux (Debian/Ubuntu) et de vous faire découvrir son interface web.
Il est constitué d'une brève présentation du projet et est découpé en 3 parties thématiques :
La première partie concerne l'installation de Gitea sur un serveur Linux, la seconde partie vous présentera une stratégie pour sauvegarder vos données et comment les restaurer. Pour finir, la troisième partie vous donnera un avant-goût des fonctionnalités essentielles de l'interface Gitea.
Qu'est-ce que Gitea ?
Gitea est une forge logicielle web écrite en Go (Golang), il permet entre autre de fournir une interface web pour gérer vos différents dépôts git et d'organiser vos projets avec plusieurs personnes (permissions, gestion des issues, wiki, CI/CD, etc.)
C'est un projet 100 % open source né d'un fork de Gogs : ce dernier évoluait trop lentement et certaines décisions des devs derrière le projet ont donné lieu à des incompréhensions de la communauté ce qui a motivé des personnes à créer Gitea !
À quel public s'adresse-t-il ?
Gitea peut convenir à un public très large.
Allant des particuliers et freelancers aux startups et PME, il saura les séduire grâce à une interface intuitive et une facilité de maintenance.
Les plus grandes entreprises verront sûrement sa légèreté et sa simplicité comme un réel atout : Gitea fait très bien son job !
Pourquoi choisir Gitea ?
Maintenant que vous savez à quoi sert Gitea, vous êtes sûrement en train de vous demander pourquoi l'utiliser alors qu'il existe déjà deux alternatives très populaires et largement utilisées : Github et Gitlab.
Je vais vous expliquer pourquoi je préfère utiliser Gitea en exposant ses avantages et inconvénients principaux.
L'objectif n'est pas de prouver que Gitea est meilleur que les autres solutions, mais simplement d'essayer de vous aider à vous forger un opinion si vous hésitez encore à choisir ou changer de forge logicielle web.
Avantages
Voici sans plus tarder les principaux atouts de Gitea :
Il est très facile à installer et à mettre à jour
Un simple fichier binaire à executer suffit à le faire tourner.
Pour le mettre à jour, il suffit de télécharger la dernière version (fichier binaire) et de remplacer l'ancien par le nouveau (en prennant bien soin de lire les "upgrade considerations" du site officiel en cas de mise à jour majeure) !
On remarque ainsi qu'il n'y a pas besoin de passer des heures à le configurer ou pour le mettre à jour : c'est un vrai gain de productivité pour les SysAdmin.
Il a l'avantage d'être multi-plateformes
Gitea fonctionne sur tous les systèmes pouvant compiler du Go (Windows, macOS, Linux, ARM, etc.)
Ultra léger et performant
Il consomme moins de 100 MB de RAM en moyenne, ce qui est 20 fois moins que Gitlab (Gitlab recommande au moins 2 GB de RAM pour fonctionner) !
Concrètement, il est donc possible de le faire tourner sur un Raspberry PI !
C'est un projet Open Source !
Parce qu'on aime la transparence et l'univers du libre dans l'informatique, que les contributeurs de Gitea sont très actifs et qu'on sent une réelle implication et l'enthousiasme de la communauté dans le projet !
Intégration continue (CI)
Il est possible de faire l'intégration continue avec Gitea mais il faudra installer une application tierce comme : drone CI, Agola, Jenkins, etc.
Une multitude de projets relatifs à Gitea
Il existe une multitude de projets relatifs à Gitea, certains servent à ajouter de nouvelles fonctionnalités (comme des thèmes, des plugins) et d'autres servent plus d'utilitaires pouvant servir à migrer des données de Github ou Gitlab vers Gitea par exemple.
C'est un véritable ecosystème qui couvrira la majeure partie des fonctionnalités qui ne sont pas disponibles par défaut sur Gitea.
https://gitea.com/gitea/awesome-gitea
Inconvénients
Parce qu'il n'y a pas que des avantages à utiliser Gitea (hélas) :
Pas de CI/CD par défaut
Gitea ne propose pas de CI/CD par défaut.
Il est possible de le relier à une application tierce qui s'en chargera (comme vu précédemment), mais cela fait une chose supplémentaire à installer.
Pas de support des pages statiques
Gitea ne supporte pas l'affichage des pages statiques (comme Github page ou Gitlab page), la raison à cela est qu'il est difficile de mettre en place cette fonctionnalité pour des raisons de sécurité (failles XSS et cookies sur le même domaine...)
Ca peut paraître superflu comme défaut, mais personnellement j'utilise mkdocs pour documenter mes projets (le build mkdocs génère un site statique) : j'aurais donc aimé pouvoir héberger ma documentation compilé en site web statique directement sur Gitea afin d'avoir le code source et la doc au même endroit.
Absence de registry pour Docker
On regrette l'absence de registry pour les images Docker.
Pas de sous-groupes
Pas de support des sous-groupes, ca peut être un frein pour les grandes organisations.
Comparatif des alternatives à Gitea plus en détails
Vous pouvez trouver un tableau comparatif des solutions alternatives les plus populaires à Gitea sur le site officiel : https://docs.gitea.io/en-us/comparison