Saya memiliki perilaku yang menarik di Jenkins.
Shell Jenkins tidak menggunakan lokal sistem saya.
Jenkins berjalan sebagai pengguna jenkins
di sistem saya.
Masuk sebagai jenkins
melalui SSH:
locale
ditampilkan:
LANG = en_US.UTF-8
LANGUAGE = en_US: en
LC_CTYPE = "en_US.UTF-8"
dll ...
env
acara LANG
dan LANGUAGE
variabel:
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 ...
env
tidak tidak menunjukkan LANG
dan LANGUAGE
variabel
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/jenkins
harus 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 :)