Saya memiliki perilaku yang menarik di Jenkins.
Shell Jenkins tidak menggunakan lokal sistem saya.
Jenkins berjalan sebagai pengguna jenkinsdi sistem saya.
Masuk sebagai jenkinsmelalui SSH:
locale ditampilkan:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
LC_CTYPE = "en_US.UTF-8"
dll ...
envacara LANGdan LANGUAGEvariabel:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
id menunjukkan ID pengguna:
uid = 1008 (jenkins) gid = ...
Masukkan perintah di atas ke shell pekerjaan jenkins:
locale ditampilkan:
LANG =
LANGUAGE =
LC_CTYPE = "POSIX"
dll ...
envtidak tidak menunjukkan LANGdan LANGUAGEvariabel
id menunjukkan ID pengguna (seperti yang diharapkan):
uid = 1008 (jenkins) gid = ...
file:
/etc/profile mengandung:
export LANG = en_US.UTF-8
export LANGUAGE = en_US: en
/etc/default/locale mengandung:
export LANG = en_US.UTF-8
export LANGUAGE = en_US: en
skrip startup /etc/init.d/jenkinsharus mengekspor lokal sistem:
# memuat lingkungan
jika [-r / etc / default / locale]; kemudian
. / etc / default / local
export LANG LANGUAGE
elif [-r / etc / environment]; kemudian
. / etc /
ekspor lingkungan LANG LANGUAGE
fi
Tentu saja saya reboot setelah memodifikasi locales;)
Apache juga menggunakan locales
sistem. Sistem saya adalah instalasi Ubuntu 14.04.
Apakah saya ketinggalan memeriksa sesuatu yang lain?
Terima kasih telah membaca!
Semoga ada yang bisa membantu :)