Comment ajouter une variable de chemin au shell de travail
Je suis configurer Jenkins pour remplacer notre TeamCity CI construire.
J'ai créé un style libre logiciel projet afin que je puisse exécuter un script shell.
Le script Shell exécute la commande mvn.
Mais la construction ne parvient pas à se plaindre de la "mvn' de la commande ne peut pas être trouvé.
J'ai compris que c'est parce que Jenkins est en cours d'exécution de la construire dans un environnement différent, qui n'a pas de Maven sur son chemin.
Ma question est; comment puis-je ajouter le chemin d'accès si "mvn' est trouvé dans mon script Shell? J'ai regardé autour, mais ne peut pas endroit où le bon endroit, peut-être.
Merci pour votre temps.
source d'informationauteur C0deAttack | 2011-09-08
Vous devez vous connecter pour publier un commentaire.
J'ai résolu ce problème par l'exportation et de définir le Chemin d'accès dans le Jenkins Travail de configuration où vous pouvez entrer des commandes shell. J'ai donc mis sur les environnements de variable avant j'execute mon script Shell, fonctionne un régal.
Des solutions possibles:
ps.: Généralement
/bin/sh
est choisi à partir de Jenkins, si vous souhaitez passer à par exemple. bash, vous pouvez configurer cela dans le jenkins paramètres du système, dans le cas où vous souhaitez configurer des variables d'environnement.Vous pouvez utiliser envInject plugin. C'est très puissant.
- Je l'utiliser pour installer rbenv. Et il peut injecter des variables d'environnement dans votre emploi actuel.
Une autre option pour les Dags suggestion est que si vous n'utilisez qu'une seule version de maven, sur chaque serveur esclave que vous pourriez faire qui que ce soit;
* ajouter le PATH=${PATH}:
* lien symbolique mvn dans /usr/bin; sudo ln -s /usr/bin
Je ne suis pas à un Jenkins boîte pour le moment, mais je peux trouver certains des exemples plus détaillés si vous le souhaitez.
Jenkins est à l'aide de sh par défaut et pas de bash.
C'est ma première fois de la définition d'un jenkins, maven travail, et j'ai également suivi un certain régulière maven instructions pour l'exécution en ligne de commande...), et j'ai essayé de mettre à jour ~/.bashrc avec M2_HOME, M2, CHEMIN d'accès, mais il ne fonctionne pas parce que jenkins utilisé sh et pas de bash. Puis j'ai découvert qu'il y a un moyen plus simple et de meilleure façon intégrée dans jenkins.
Après l'installation de maven, je devais configurer mon installation de maven dans jenkins.
Pour configurer votre installation de maven dans Jenkins:
b. et sous MVN_HOME définir le chemin où vous avez installé maven, par exemple "/usr/local/apache-maven/apache-maven-3.0.5"
Définir un travail avec maven cible