Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

Gitlab – Pour arrêter de tout mettre sur Github

Je bosse actuellement sur un gros projet B2B top secret (oui, un de plus), et plutôt que de mettre le code sur Github comme le font beaucoup de boites et ainsi dépendre d’un service tiers (avec tous les risques que ça comporte), j’ai installé un Gitlab CE (pour Community Edition).

Comme je n’en ai jamais parlé ici, je me suis dit que ce serait l’occasion. Pour ceux qui n’en auraient jamais entendu parler, Gitlab est un outil pour gérer des dépôts Git, collaborer à plusieurs sur du code, suivre les demandes de merge, remonter et suivre les bugs, écrire de la doc dans un wiki, enregistrer des petits bouts de code (code snippets)…etc.

gitlab

activity_stream_full file_browser_full

Chaque dépôt créé via Gitlab est ensuite accessible avec n’importe quel client git présent sur votre machine, en HTTP, HTTPS ou SSH (si vous mettez les bonnes clés) et pour chaque projet, tous les détails pour la connexion git sont clairement mis en avant, avec les lignes de commande nécessaires si besoin.

La gestion des groupes et des utilisateurs est très bien pensée et permet de correctement segmenter les projets que vous hébergez et le suivi d’activité permet de se tenir au courant des dernières modifications sur le code. Cette version CE est sous licence MIT et dispose d’une importante communauté.

Il s’agit d’un outil très complet, facile à prendre en main et que n’importe qui peut installer sans avoir besoin de grandes connaissances en admin sys… J’suis fan !

La version 8.5 vient de sortir et pour l’installer sur votre serveur, il suffit de suivre la doc.

Bref, si vous ne l’avez pas encore fait, c’est à tester.


A la recherche d’un job dans le numérique et envie de changer de région et de vie ?

Est-ce que je fais vraiment le boulot que j’aime ? Ma qualité de vie dans cette grosse ville bruyante, polluée, chère … est-elle vraiment la meilleure ? Est-ce que ce village de campagne est le lieu le plus propice pour préparer mes enfants au futur ? Nous sommes nombreux à nous être posé ce genre de questions à un moment ou un autre, moi le premier.

Et bien si vous êtes dans cette situation, que vous avez envie de changer d’air sans pour autant changer de travail, Laou vous accompagne dans toutes les étapes de ce nouveau voyage, pour que vous ayez l’esprit serein jusqu’au moment d’envoyer votre premier mail pro 😉

Découvrir leur service et lancez-vous



Réponses notables

  1. Mmmm, Gitlab est lourd… Perso pour faire tourner un serveur Git avec interface web sur un Rpi B+ je me suis tourné vers Gogs. Il est écris en Go, consomme 12mo de Ram et fais quasiment le même café que Gitlab. Bon, il n’y a pas de CI mais bon, ça sert toujours :smiley:
    Et en plus il est lui aussi open source (dispo sur Github) et en plus simple a installer. 2 lignes de commande et le services est en ligne.

  2. Je l’ai sur mon serveur perso depuis plus d’un an, ça prend beaucoup de RAM mais c’est quand même super pratique. Rien que pour les projets de dev en groupe à l’école ça évite d’avoir à mettre sur Github et donc se faire plagier.

    Pour l’utilisation perso je m’en sert plus comme truc privé au départ, et je balance sur github une fois le projet fini pour garder l’esprit de partage, les pull request & co.

  3. je me demandais dans quelle mesure ces outils, qui proposent un peu plus qu’un simple dépot de projets git, permettent d’exporter les autres (meta) données. Ce sera crucial le jour où je voudrais éventuellement changer de crémerie.

    Car autant j’imagine bien que l’historique des commits dans le repository est tout simplement récupérable via un clone du projet, autant je ne sais pas ce qu’il se passe pour tout le reste: pages wiki, snippets, etc…

    (un peu comme Wordpress, quoi: quand tu construits ton site c’est super ; quand tu veux exporter pour faire un peu autre chose avec ton contenu, ou même juste changer de domaine, et que tout est à extraire/bidouiller plus ou moins à la mano dans la BdD, c’est tout de suite moins rigolo)

    Si quelqu’un a une idée…

    PS: Korben, un (super) billet de plus qui parle exactement de ce à quoi je suis en train de m’intéresser sur le moment. Merci. Manquerait plus que tu fasses la même chose pour les repo npm privés auto-hébergés et là je te vouerai une reconnaissance éternelle :wink:

  4. Iceksy says:

    Bitbucket > Repo privé ? :slight_smile:

  5. xataz says:

    Effectivement, pour des projets professionnel, ou perso (sans demande de contribution), un github like en selfhosted est toujours mieux. Mais si on veux de la contribution, rien de mieux que github, voir bitbucket, c’est justement l’avantage de ces solutions, un grand nombre de contributeur.

    Autrement je préfère également gogs à gitlab, pour sa légèretés, surtout dans un container docker. J’en utilise 2, un sur un serveur distant pour faire des sauvegardes de ceux que j’ai sur github, et un en local chez moi, pour mes pré-bêta.

  6. Kerwan says:

    Je ne suis pas un expert du tout sur le sujet mais suite à de gros problèmes de performances + bugs 2 grosses entreprises pour lesquelles j’ai travaillé sont passés de GitLab à GitHub entreprise.

  7. Je pense que ça a été corrigé. J’avais eu le soucis sur mon serveur. Gitlab utilisait directement la swap plutôt que la RAM du coup c’était hyper long, mais ça à l’air d’être résolu.
    Gitolite est pas mal est léger aussi, mais sans WEB UI par défaut. Mais niveau gestion c’est autre chose aussi ^^

  8. GitLab.com permet également un nombre illimité de projets privés, cf leur page de garde.
    La seule restriction est de 10GB max par projet chez Gitlab ; Bitbucket n’autorise quant à lui que 5 utilisateurs par ( ?) repo (?)

  9. Bonjour,

    j’était sur le point de me laissé tenter en testant une version bitnami de gitlab en version vmware, mais le fait qu’il soit configurer en ide, il ne démarre pas sur un vsphere :

    https://bitnami.com/stack/gitlab/virtual-machine

    quelqu’un a t’il une astuce, ou faut t’il se résoudre a ressortir une iso ubuntu pour tester la solution ?

    en vous remerciant,

  10. Salut,

    Pourquoi utiliser une grosse machine virtuelle avec une interface graphique et qui demande beaucoup de ressource pour faire tourner une simple application web et des scripts ruby ?
    Tu peux utiliser tout simplement Docker, C’est une petite machine virtuelle qui lance un linux super light (150mo).
    https://www.docker.com/

    Avec Docker, tu lances ce que l’on appelle des conteneurs, qui contiennent toute la structure d’une application ainsi que les différentes librairies et logiciels qu’elle a besoin pour fonctionner (par exemple, le conteneur d’un site web contiendra souvent aussi un serveur apache ou nginx)

    Gitlab existe donc en version conteneur pour Docker: https://hub.docker.com/r/gitlab/gitlab-ce/

    Bon et comme je suis sympa, je te file aussi un lien vers Kitematic, un logiciel qui permet d’utiliser Docker avec une interface graphique. kitematic.com

    Aller et aussi un lien vers l’excellente présentation de Docker faite par Jonathan Boyer (aka Grafikart): grafikart.fr/tutoriels/docker/docker-intro-634

  11. xataz says:

    Tout a fait d’accord. En plus pour faire des tests, y’a pas plus légés et rapide.

    Par contre, c’est là qu’on vois la légèreté de gogs face à gitlab dans un conteneur docker :

    • gogs :
    • gitlab :

    Seulement 1 Go de différence ^^, bon c’est pas la même image de base, mais quand même.

    Enfin bref, on sors un peu du sujet là.

    Pour y revenir, gogs à un autre avantages, l’interface est très similaire à github, ce qui en facilite la migration.

  12. Bredt says:

    J’ai un peu du mal avec GitHub, ça va nous faire comme avec SourceForge.net, ça va être racheter par une boite qui n’y comprends rien et qui va vouloir rentabilisé son achat (adware & co) ou encore comme google code, pas rentable, on ferme en moins de 3 semaines …
    Alors oui, c’est là qu’un GitLab CE (la forge, pas le service GitLab) est intéressant, mais il ne faut pas oublier les petits copains :

    • Redmin (Ruby), plutôt pour des projets petit à moyen
    • FusionForge (Php/PostgreSQL, descendant de SourceForge la forge pas le service), une vraie forge avec vraiment tout (debian gère ses sources avec : https://alioth.debian.org/)
    • plein d’autres
  13. bunam says:

    au boulot on utilise ceci


    ça fait plus que du git (svn et mercurial)
    c’est capable de gérer les depots en local ou de suivre d’autres distant
    http://phabricator.org

Continuer la discussion sur Korben Communauté

13 commentaires supplémentaires dans les réponses

Participants