Ich habe ein interessantes Verhalten in Jenkins.
Jenkins 'Shell verwendet meine Systemgebietsschemas nicht.
Jenkins läuft als Benutzer jenkins
auf meinem System.
Eingeloggt wie jenkins
über SSH:
locale
angezeigt:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
LC_CTYPE = "en_US.UTF-8"
etc ...
env
Shows LANG
und LANGUAGE
Variablen:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
id
zeigt die ID des Benutzers:
uid = 1008 (jenkins) gid = ...
Die obigen Befehle für eine Jenkins-Job-Shell wurden eingegeben:
locale
angezeigt:
LANG =
LANGUAGE =
LC_CTYPE = "POSIX"
etc ...
env
wird nicht angezeigt LANG
und LANGUAGE
Variablen
id
zeigt die ID des Benutzers (wie erwartet):
uid = 1008 (jenkins) gid = ...
die Dateien:
/etc/profile
enthält:
export LANG = en_US.UTF-8
export LANGUAGE = en_US: en
/etc/default/locale
enthält:
export LANG = en_US.UTF-8
export LANGUAGE = en_US: en
Startskript /etc/init.d/jenkins
sollte Systems locales exportieren:
# Umgebungen laden,
wenn [-r / etc / default / locale]; dann
. / etc / default / locale
export LANG SPRACHE
elif [-r / etc / environment]; dann
. / etc / environment
export SPRACHE
fi
Natürlich habe ich nach dem Ändern der Gebietsschemas neu gestartet;)
Apache verwendet auch die Gebietsschemas des Systems.
Mein System ist eine Ubuntu 14.04-Installation.
Habe ich etwas anderes verpasst?
Danke fürs Lesen!
Ich hoffe jemand kann helfen :)