Remote Git sur IBM i

12 Avr 2024 | Uncategorized

 

 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 :

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.

Envie d’en savoir plus sur la mise en œuvre de Git sur IBM i ou besoin d’accompagnement sur le sujet ?