cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

GitLab est un logiciel libre de forge basĂ© sur git proposant les fonctionnalitĂ©s de wiki, un systĂšme de suivi des bugs, un systĂšme d’intĂ©gration continue et de livraison continue. GitLab est dĂ©veloppĂ© par GitLab Inc. qui Ă  fait son introduction en bourse en octobre 2021, atteignant l’objectif que c’était fixĂ© les initiateurs du projet depuis le dĂ©but.


ඏ

Cette trajectoire vers un financement boursier à de fortes implications sur le choix des fonctionnalités et des corrections de bug qui sont traitées.

GitLab s’est peu Ă  peu orientĂ© vers une solution clĂ© en main prenant en charge la chaĂźne de dĂ©veloppement et de dĂ©ploiement. En brisant la complexitĂ© de la gestion de version, la solution est devenue simpliste, elle encourage de nombreuses mauvaises pratiques qui ont pour effet d’anĂ©antir les progrĂšs dans ce domaine que permet git.

Le parcours du dĂ©veloppement de GitLab Ă  favoriser l’arrivĂ©e de nouvelles fonctionnalitĂ©s au dĂ©triment de la stabilisation de l’existant ceci pour obtenir de nouveaux clients.

De nombreuses fonctionnalitĂ©s, en particulier sur la gestion des versions, ne fonctionnent pas correctement. Pire, j’ai Ă©tĂ© tĂ©moin de demande d’évolutions qui sont des anti-modĂšles, les arrivants Ă©tant gĂ©nĂ©ralement des personnes qui ne connaissaient pas git et ces avantages mais qui souhaitait retrouver leurs rĂ©flexes venant de svn, voir de systĂšme de gestion de version plus ancien. Voir Anti-pattern et Allow disabling "Squash and merge" for a project. Bref, GitLab encourage l’utilisation de git Ă  la maniĂšre de svn


GitLab a su sĂ©duire ces utilisateurs en leurs donnant des fonctionnalitĂ©s qu’ils pensaient avoir besoin du fait de leur manque de connaissances sur le systĂšme de gestion de version git. Cela marquera d’ailleurs longtemps, je pense, le dĂ©veloppement logiciel, les « simplifications » proposĂ©es par GitLab permettant de gagner du temps, au mĂ©pris de la qualitĂ©, plus prĂ©cisĂ©ment au mĂ©pris du suivi des changements. Mais c’est trĂšs conforme Ă  notre monde oĂč le gain de productivitĂ© est prioritaire sur tout autre considĂ©ration.

Récupération du mouvement libriste par la finance


Le logiciel Ă  fait largement ces preuves, mais sa capacitĂ© Ă  survivre n’est pas envisageable pour un « entrepreneur » de la finance, car ce modĂšle se passe de lui.

Ces personnes thĂ©orisent une distinction entre “Open Source de droite” (entreprise commerciale qui ouvre son code) et “Open Source de gauche” (sans entreprise derriĂšre, donc avec d’autres challenges au niveau de la fiabilitĂ© et du financement)

Le nombre de problĂšmes ouverts (« open issues ») est alarmant, pourtant GitLab applique des rĂšgles de fermeture automatiques drastiques, le moindre bug remontĂ©, qui n’a pas une description claire de la maniĂšre de le reproduire et qui n’est pas rapidement confirmĂ© est fermĂ©. J’ai fait plusieurs rapports de bugs et seul ceux que j’ai fait au titre d’un client « Premium » ont Ă©tĂ© prises en comptes, et que peu de ces bugs sont aujourd’hui rĂ©solus.


ඏ

GitLab sur la plateforme.

Lorsque j’ai choisi GitLab pour gĂ©rer la plateforme, l’application nĂ©cessitait 1 Go de RAM et 1 Go de swap. C’était dĂ©jĂ  beaucoup, mais un Raspberry PI 3 pouvait faire l’affaire.

Aujourd’hui GitLab nĂ©cessite au minimum 8 Go de RAM
 C’est, de loin, l’outil le plus gourmand en ressources dans le domaine.

D’ailleurs au prix des VM (Ordinateur virtuel que les entreprises louent dans le « cloud »), cela me semble remettre en cause l’intĂ©rĂȘt de GitLab, autant prendre une solution chez Micro$oft (Git-hub) ou chez Atlassian (Bitbucket). Bref, vu le coĂ»t de la VM, dans tous les cas, il est raisonnable de toujours payer Ă  minima une licence Premium.

Pour ma part, je cherche une solution auto-hĂ©bergĂ©e et qui tourne sur une machine basse consommation ; GitLab ne rentre plus dans ce cahier des charges. Cependant, j’ai l’ensemble de ma configuration est aujourd’hui basĂ©e sur GitLab, m’en passer Ă  un coĂ»t non nĂ©gligeable.


ඏ

Le GitLab a planté 

Bon, en soit, mĂȘme si ce n’est pas normal, je ne peux pas tout mettre sur le dos de GitLab qui tournais sur une machine avec 4 Go de RAM et probablement pas assez de swap


Cependant, ce fut l’occasion de dĂ©couvrir que les sauvegardes ne fonctionnaient pas toujours. Je creuserais peut-ĂȘtre ce point, car je suis presque certain d’arriver Ă  le reproduire.

Autre surprise, l’installation de GitLab sur Raspberry Pi OS Bullseye ne fonctionne pas


De maniĂšre gĂ©nĂ©rale, ma confiance dans GitLab est aujourd’hui pas trĂšs grande, et je suis mĂȘme inquiet pour son avenir, car j’ai vraiment l’impression que les dĂ©veloppeurs de GitLab ne maĂźtrisent plus vraiment le code de ce monstre.

Mais une leçon qui se confirme concernant GitLab, ce n’est pas une application qui tourne toute seule dans son coin, elle demande une Ă©quipe pour l’administrer, c’est un travail plutĂŽt lourd et trĂšs incompatible avec ce qu’attentent les entreprises comme les particuliers d’un tel outil.


ඏ

Remplacement de GitLab

J’ai du en urgence remonter un serveur git Ă  l’aide de Gitea, un logiciel que j’avais Ă©galement Ă©valuĂ© lors du choix initial et j’ai Ă©tĂ© trĂšs agrĂ©ablement surpris de son Ă©volution.

J’ai finalement Ă©crit des scripts permettant de remonter une sauvegarde GitLab dans Gitea. Actuellement ces scripts prennent en charge les dĂ©pĂŽts de sources, les wikis. Ils transforment les groupes GitLab en organisations Gitea, prend en compte quelques cas particuliers.

Pour la suite, je ne sais pas trop, il me faut un outil d’intĂ©gration et de dĂ©ploiement (« CI/CD ») ; je n’écarte pas l’idĂ©e de remonter un GitLab pour cela, puisque cela m’éviterait un travail considĂ©rable et pĂ©rilleux sur le code de dĂ©ploiement.


ඏ

Liens

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog