Jenkins에서 재미있는 행동을했습니다.
Jenkins의 셸은 내 시스템 로캘을 사용하지 않습니다.
Jenkins는 jenkins
내 시스템에서 사용자로 실행됩니다 .
jenkins
SSH 를 통해 로그인 :
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
포함한다 :
LANG = en_US.UTF-8
내보내기 LANGUAGE = en_US : en 내보내기
/etc/default/locale
포함한다 :
LANG = en_US.UTF-8
내보내기 LANGUAGE = en_US : en 내보내기
시작 스크립트 /etc/init.d/jenkins
는 시스템 로케일을 내 보내야합니다.
#
[-r / etc / default / locale] 인 경우 환경로드 ; 그때
. / etc / default / locale
export LANG LANGUAGE
elif [-r / etc / environment]; 그때
. / etc / environment
내보내기 LANG LANGUAGE
fi
물론 로케일을 수정 한 후 재부팅했습니다.)
Apache도 시스템의 로케일을 사용합니다.
내 시스템은 Ubuntu 14.04 설치입니다.
다른 것을 확인하기 위해 놓쳤습니까?
읽어 주셔서 감사합니다!
누군가가 도울 수 있기를 바랍니다 :)