ジェンキンスで面白い行動をした。
Jenkinsのシェルは私のシステムロケールを使用しません。
Jenkinsはjenkins私のシステムでユーザーとして実行されます。
jenkinsSSH経由でログイン:
locale 表示:
LANG = en_US.UTF-8
LANGUAGE = en_US:en
LC_CTYPE = "en_US.UTF-8"
など...
envショーLANGとLANGUAGE変数:
LANG = en_US.UTF-8
LANGUAGE = en_US:en
id ユーザーのIDを示します。
uid = 1008(jenkins)gid = ...
上記のコマンドをjenkinsジョブシェルに入力します。
locale 表示:
LANG =
LANGUAGE =
LC_CTYPE = "POSIX"
など...
envんではない示し、LANGおよびLANGUAGE変数
id ユーザーのIDを表示します(予想どおり):
uid = 1008(jenkins)gid = ...
ファイル:
/etc/profile 含む:
export LANG = en_US.UTF-8
export LANGUAGE = en_US:en
/etc/default/locale 含む:
export LANG = en_US.UTF-8
export LANGUAGE = en_US:en
起動スクリプト/etc/init.d/jenkinsはシステムのロケールをエクスポートする必要があります:
#負荷環境
であれば[-rは、/ etc / default /ロケール]; その後
。/ etc / default / locale
export LANG LANGUAGE
elif [-r / etc / environment]; その後
。/ etc / environment
export LANG LANGUAGE
fi
もちろん、ロケールを変更した後で再起動しました;)
Apacheもシステムのロケールを使用します
私のシステムはUbuntu 14.04インストールです。
何か他のものをチェックするのを見逃しましたか?
読んでくれてありがとう!
誰かが助けてくれることを願っています:)