Vous souhaitez adopter Git pour vos développements IBM i (développements Web et traditionnels) mais vous ne souhaitez ou ne pouvez pas héberger le code source ni dans le Cloud (GitHub, GitLab.com, Azure Devops…), ni « à côté » dans des VM qu’il faudra maintenir ?
GitBucket est la solution (pas la seule) ! https://gitbucket.github.io/
GitBucket est une solution Open Source à base de java, qui permet d’héberger une plateforme Git remote directement sur l’IBM i.
Parmi les fonctionnalités proposées en standard :
- Une interface web d’administration intuitive
- Gestion des dépôts de codes (des projets)
- Affichage graphique des sources
- Gestion des branches
- Gestion des « url » / download du projet
- Historique Git
- Gestion des accès par utilisateurs / groupes
- Gestion des Pull request
- Gestion des Issues / Milestones / Labels
- Un wiki par projet
Les plugins de la communauté GitBucket
Pour augmenter les possibilités offertes en standard, retrouvez une marketplace de Plugins : https://gitbucket-plugins.github.io/
Sans toutes les citer, nous aimons particulièrement :
- https://github.com/mrkm4ntr/gitbucket-network-plugin pour visualiser les graphs
- https://github.com/kasancode/gitbucket-label-kanban-plugin pour visualiser les issues en kanban (label, milestone, développeurs etc…)
Installation GitBucket sur IBM i
La dernière version de GitBucket nécessite java 11. La première étape consiste donc à installer Java11 sur l’IBM i qui va héberger GitBucket. Vous pouvez suivre les instructions disponibles sur :
https://ibmi-oss-docs.readthedocs.io/en/latest/java/JAVA11_EARLY_ACCESS.html
Pour installer le package openjdk-11-ea (Early Access RPM). Java sera installé sous /QOpenSys/pkgs/lib/jvm/openjdk-11 (exécutable /QOpenSys/pkgs/lib/jvm/openjdk-11/bin/java).
Pour utiliser ce java, il faudra initialiser la variable d’environnement JAVA_HOME et le PATH dans notre session bash :
JAVA_HOME=/QOpenSys/pkgs/lib/jvm/openjdk-11/
export JAVA_HOME
PATH=/QOpenSys/pkgs/lib/jvm/openjdk-11/bin:$PATH
export PATH
Maintenant que Java est installé, nous pouvons passer à l’installation de GitBucket. Vous pouvez télécharger la dernière version disponible sur :
https://github.com/gitbucket/gitbucket/releases
Et déposez le fichier gitbucket.war dans l’IFS (exemple dans /gitbucket).
Vous pouvez créer un profil dédié GITBUCKET pour faire tourner le serveur GitBucket. Ce profil devra avoir les QPGMR et être propriétaire de son HOMEDIR (/home/GITBUCKET). Si non existant, créer le dossier.
Avec les variables d’environnement JAVA configurées, lancez maintenant :
java -jar gitbucket.war
Cela va lancer le serveur sur le port 8080 et vous pouvez accéder à l’interface web sur http://[hostname]:8080/
Par défaut, l’accès se fait avec profil / mot de passe : root / root que vous devez changer à la première connexion.
Retrouvez la base de données et tous les éléments du serveur sous /home/[USRPRF]/.gitbucket du profil qui exécute le serveur (GITBUCKET dans notre exemple).
Sur IBM i, nous aimons utiliser service-commander pour lancer et gérer le service sur IBM i https://github.com/ThePrez/ServiceCommander-IBMi
Voici un exemple de configuration :
Vous pouvez ensuite arrêter / démarrer le service avec :
- sc start gitbucket
- sc stop gitbucket
Vous avez maintenant le choix d’héberger votre remote Git dans le Cloud, sur un serveur à côté ou directement sur l’IBM i.
Pour aller plus loin, nous pouvons activer les accès ssh et https, lancer le serveur sur un port différent du port par défaut, installer des plugins, utiliser la plateforme…
Contactez nous pour une démonstration ou une assistance à la mise en œuvre de votre plateforme Git remote directement sur votre IBM i.