J'ai voulu tester Gogs, réputé plus léger que Gitlab.
Pour l'installer, plusieurs méthodes sont possibles : sources, binaires ou dépôt apt. J'ai choisi dépôt apt.
Les instructions :
https://packager.io/gh/pkgr/gogs/install?bid=87#wheezy . C'est le minimum syndical puisqu'on utilise "root" pour se connecter à la base de données au lieu d'utiliser un compte dédié à gogs. Bon, on peut toujours améliorer soi-même mais je trouve que la sécurité devrait être beaucoup plus prise en compte dans les instructions d'installation surtout quand elle n'est pas complexe à déployer.
IMPORTANT : à la fin complète de l'installation, il faut : ln -s /etc/gogs/conf/app.ini /opt/gogs/custom/conf/app.ini (mieux qu'un cp car, comme ça, vous avez un seul fichier à modifier). Sans ça, il est impossible d'utiliser les fonctionnalités git (clone, push, ...). L'utilisateur voit : « fatal: protocol error: bad line length 8208 », « fatal: The remote end hung up unexpectedly » et dans les logs (/var/log/gogs/serv.log), on a « Fail to execute git command: exit status 128 » O_O
C'est assez curieux. Le fichier /etc/gogs/conf/app.ini est utilisé par une partie de gogs mais pas par la commande « gogs serv » qui est celle lancé lors d'un git over SSH. Si on lance ce binaire à la main, il nous dit :
« [W] No custom 'conf/app.ini' found, please go to '/install'
Hi XXX ! You've successfully authenticated, but Gogs does not provide shell access. »
Évidemment, le warning n'a pas une valeur d'avertissement mais d'arrêt critique ...
Mon avis sur Gogs ? Plutôt négatif.
+ Plus léger que Gitlab, c'est clair.
- Codé en Go ... Juste N-O-N ... Après les serveurs XMPP en erlang/lua, voici venu un code en Go sur nos serveurs de prod'. Juste N-O-N.
- C'est en rolling release (dev' continu). Donc les màj via apt fusent (on peut toujours géler le package gogs,
http://shaarli.guiguishow.info/?TccM8g, mais c'pas le top), les versions aussi, ... On ne peut pas avoir une branche stable avec juste les màj des sécu ? C'est le minimum pour un environnement de prod' bowdel.
- Le code n'est pas clair, surtout dans la version packagée : un warning qui devrait être un critical, un fichier de conf' utilisé par une partie du code, un autre fichier de conf' par une autre partie du code, ...
- Des templates pas super bien conçus, particulièrement celui de la page d'accueil. Et si je veux changer le titre (<h1> et <h2>, pas <title>) ? Tout comme pour <title>, une variable de config devrait être proposée.
Merci à Nath96 (
http://www.nath96.netlib.re/) pour la motivation à essayer ce bouzin et pour le debug. :)