Hier ist, was ich auf Ubuntu 18.04 LTS mit Jenkins 2.176.2 gemacht habe
Ich habe die Datei .bash_aliases erstellt und dort Pfad, Proxy-Variablen usw. hinzugefügt.
Zu Beginn von .bashrc wurde dies definiert.
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
Es wird also überprüft, ob wir hier nichts tun, wenn wir eine nicht interaktive Shell starten.
Am unteren Rand der .bashrc befand sich include für .bash_aliases
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Also habe ich .bash_aliases verschoben und zuerst bei .bashrc direkt über der nicht interaktiven Prüfung geladen.
Dies hat zuerst nicht funktioniert, aber dann habe ich den Slave getrennt und wieder verbunden, damit die Variablen wieder geladen werden. Sie müssen nicht ganze Jenkins neu starten, wenn Sie Slave-Variablen ändern. Einfach trennen und wieder verbinden.
echo $PATH
, stimmt es mit dem überein, was Sie in Jenkins sehen?