C’est une question qui revient souvent dans les forums: peut-on utiliser Git avec Talend open studio en version communautaire? La réponse est oui, même si l’utilisation n’est pas aussi automatique et intégrée que dans la version professionnelle.
Introduction
Parce qu’on a tous été confrontés à ce besoin de partager des sauvegardes lorsque l’on développe avec Talend, l’utilisation d’un gestionnaire de source est obligatoire.
Talend dans son offre professionnelle propose donc cette fonctionnalité quasi obligatoire lors de gros projets, il est possible de bidouiller un peu pour obtenir un équivalent de cette fonction en utilisant le plugin Eclipse EGit directement dans le studio.
Source java VS sources Talend
Pour rappel, Talend est un générateur de code s’appuyant sur Javajet, la vrai question est de savoir ce qu’on doit vraiment sauvegarder, les sources générées ou les sources Talend basées sur des fichiers xml properties et item. Il serait intéressant de sauvegarder les deux sur deux référentiels Git différent, vu l’arrivée de maven depuis la version 6 de Talend, pourquoi ne pas se servir d’un hook pour automatiser une compilation et un déploiement avec Jenkins, la sauvegarde des sources Talend n’étant que pour sauvegarder le projet et le partager avec l’équipe. La procédure de sauvegarde du répertoire caché .java ainsi que son build automatique ne sera pas expliquée ici mais pourra faire l’objet d’un futur article 😉
Identifier la version d’eclipse
Il faut pour cela créer un projet et ouvrir Talend open studio, allez ensuite dans Help -> Installation details. Recherchez la ligne Eclipse Platform, cette ligne identifie la version d’eclipse RCP qui est la base du studio Talend
Dans mon cas c’est la version 4.4.0 qui correspond à Eclipse Luna, ne reste plus qu’à télécharger la version du plugin EGit compatible. Vous trouverez le tableau de compatibilité sur cette page, la bonne nouvelle est que ce plugin git dans sa dernière version est compatible avec toutes les versions d’eclipse à partir de la 4.4 et plus.
Installation du plugin
Téléchargez la dernière version en date ici, une fois l’archive ouverte, vous trouverez ceci:
Pour info, il est complétement impossible d’installer le plugin via l’archive zip en mode déconnecté, la fonction étant volontairement désactivée (merci Talend). Les deux répertoires importants sont donc features et plugins, ils suffit de copier-coller ceux-ci dans le répertoire d’installation du studio.
Une fois fait, relancez Talend open studio…
Utilisation du plugin
Pour vérifier la bonne opération, allez dans Help -> Installation details et listez les plugins pour retrouver la version 4.7 d’Egit
Allez dans fenêtre -> montrer la vue et sélectionner les vues relatives à Git.
Toutes les fenêtres sont disponibles en bas
Vous pouvez aussi choisir la perspective Git en haut à droite
Ajout d’un référentiel
Créez un premier job dans votre projet
Rendez-vous ensuite dans la perspective java et cliquer droit sur le projet en cours
Puis dans le menu Team, choisissez Share project
Créez au passage le référentiel sur votre disque dur local en cliquant sur Create…
Sélectionnez ou créez un répertoire de destination
Le projet de votre workspace est maintenant lié à un répertoire qui va pouvoir contenir plusieurs projets Git, ce répertoire peut être réutilisé pour d’autres projets Talend.
Un aperçu de la perspective Java qui indique que le projet est maintenant lié
Ignorer des éléments
Tout n’est pas utile dans le projet car régénéré à chaque lancement, vous pouvez construire un fichier .gitignore, pour se faire cliquez droit sur un répertoire inutile du projet puis faites Team-> Ignore
Vous pouvez aussi manuellement éditer le fichier .gitgnore et ajouter les éléments suivants en utilisant la vue Navigator
Synchroniser le référentiel distant
Seuls les fichiers des jobs (du répertoire process) sont listés afin d’être ajoutés dans la staging area, l’étape suivante est de les sélectionner puis de cliquer droit dessus puis de faire Add to Index.
Ne reste plus qu’à entrer un message et de les commiter 😉
Une fois « commitée », vos sources vont pouvoir être poussées vers votre référentiel distant, si comme moi vous utilisez GitHub, créez un dépôt et copiez l’url de celui-ci avec le bouton réservé à cet effet:
Lors du push, collez l’URL précédemment copiée en entrez vos identifiants.
Validez le push pour terminer la synchronisation
Derniers conseils
Voici quelques points à noter lors de l’utilisation de Git avec Talend:
- La première fois que vous clonez un dépôt, vous devrez importer le projet.
- S’il n’y a pas de création de nouveaux objets (jobs, connexions, metadonnées, etc…) vous pouvez directement ouvrir le projet après un pull.
- En cas de création de nouveaux objets, ré-importez le projet, en effet le répertoire .metadata dédié à Eclipse n’étant pas synchronisé, celui-ci va devoir reconstruire son référentiel.
- Évitez de sauvegarder le répertoire .metadata afin d’éviter de devoir gérer de nombreux conflits de merge.
Bonjour,
Il semblerait que depuis le passage à la 7.2.1 l’implémentation du plug-in e-Git ait été bloqué par Talend. Nous avons réalisé un POC sur la 6.5 tout était OK mais la 7.2.1 ne permet pas d’afficher les vues e-Git.
cdt,
Bjr,
En effet, j’ai pu le constater également, je vais voir pour une mise à jour, cet article date un peu.
Ma recommandation est de rester sur une version 6 qui reste plus stable.
Cdlt
Hi,
I couldn’t run this in Talend DI 7.2.1 Studio.
Do you know of a workaround?
Thanks
Hello,
You should use lastest version 6.
Version 7 is still buggy like the search box for instance.
Regards
Hi Jean,
Thank you for your post. It was indeed helpful.
How can you import the checked in project for some one else with all the components , literally the entire project as it is prior check in 🙂 .
Thanks Arun
Hello Arun,
The trick is to import the full project each time you pull a branch.
Regards