Nous utilisons certains modules personnalisés dans notre cadre d'automatisation Perl qui fonctionne à travers le pipeline Jenkin. Récemment, nous avons obtenu l'erreur "package not found" pour tous les modules personnalisés lors de l'exécution des cas de test dans les serveurs AIX, car la dernière version de Perl y est installée. Nous avons donc essayé d'ajouter "PERL5LIB" dans le chemin comme mentionné dans le document.
https://perlmaven.com/how-to-change-inc-to-find-perl-modules-in-non-standard-locations
Nous avons ajouté "export PERL5LIB=/home/foobar/code" dans le fichier /etc/profile du serveur AIX et le script s'exécute sans aucun problème lorsqu'il est exécuté depuis la machine AIX locale.
Question :
Mais nous avons le pipeline Jenkin pour exécuter les scripts dans le serveur AIX en utilisant ssh. Maintenant, lorsque nous faisons SSH au serveur AIX dans le pipeline scripts les variables que nous avons définies dans /etc/profile ne se charge pas et nous obtenons l'erreur package not found.
Question : Comment puis-je charger le profil dans le serveur AIX tout en l'exécutant à partir du pipeline ? ou existe-t-il un autre moyen de gérer cela. Avant d'exécuter script, je veux exporter PERL5LIB dans le serveur AIX distant par le biais de pipeline (une seule fois) et le je ne devrais pas obtenir l'erreur package not found.
Voici les solutions que j'ai essayées :
Chargez le /etc/profile : ssh AIX server ./etc/profile (en utilisant le point puisque la source ne fonctionne pas sous AIX)
Ajout de la ligne "export PERL5LIB=/home/foobar/code" dans le fichier .ssh/environnement du serveur AIX et définition de PermitUserEnviorment yes.
J'apprécierais toute aide à ce sujet.