Archives par mot-clé : gitpod

Gitpod – Un IDE à auto héberger et accessible dans le navigateur

Jusqu’à présent, Gitpod était un service en ligne payant qui proposait un éditeur assez similaire à Visual Studio, mais entièrement en ligne utilisable dans un navigateur. J’utilisais d’ailleurs un outil similaire il y a quelques années : Cloud9. Mais suite au rachat par Amazon, je l’ai dégagé parce qu’ils ont eu plein de soucis lors de la migration.

Gitpod en version hébergée chez eux est donc payant, mais BONNE NOUVELLE les amis : GitPod est maintenant disponible en version open source que vous pouvez héberger vous-même.

Cette application se déploie uniquement sur un serveur Kubernetes (auto hébergement ou Amazon ou Google Cloud Platform et s’intègre parfaitement avec Github, Bitbucket et Gitlab pour que vous puissiez coder simplement depuis n’importe quel navigateur et depuis n’importe où, en JS, Python, HTML/CSS, Java, C++, Go, Rust, Dart…etc., etc.

L’avantage de ce genre de solution open source, c’est que toutes les données restent stockées bien au chaud sur votre serveur et ne sont pas mises à la merci d’un service payant qui pourrait disparaître à tout moment.

GitPod en mode autohébergé peut également être intéressant pour proposer à des développeurs dans une entreprise x ou y, d’avoir un environnement propre, facile d’accès et surtout bien planqué derrière un firewall voire même air gapped ! (non connecté physiquement au réseau)

La documentation est très complète et l’installation peut se faire rapidement. Vous aurez besoin d’un Cluster Kubernetes en version > 1.13, d’un nom de domaine, d’un certificat SSL (c’est optionnel, mais c’est mieux) puis d’outils comme kubectl, helm et si vous le souhaitez, MySQL, Docker Registry, Minio pour le stockage. Tout le process pour installer GitPod sur votre propre serveur est décrit ici.

GitPod propose également une extension pour Chrome et Firefox qui injecte un bouton « Gitpod » sur Github pour récupérer et travailler en un clic sur n’importe quel dépôt de votre choix.