Eu tenho um comportamento interessante em Jenkins.
O shell do Jenkins não usa os códigos de idioma dos meus sistemas.
Jenkins é executado como usuário jenkins
no meu sistema.
Conectado como jenkins
via SSH:
locale
exibido:
LANG = pt_BR.UTF-8
LANGUAGE = pt_BR: pt
LC_CTYPE = "pt_US.UTF-8"
etc ...
env
shows LANG
e LANGUAGE
variáveis:
LANG = pt_BR.UTF-8
LANGUAGE = pt_BR: pt
id
mostra o ID do usuário:
uid = 1008 (jenkins) gid = ...
Os comandos acima foram inseridos em um job shell de jenkins:
locale
exibido:
LANG =
LANGUAGE =
LC_CTYPE = "POSIX"
etc ...
env
se não mostrar LANG
e LANGUAGE
variáveis
id
mostra o ID do usuário (conforme o esperado):
uid = 1008 (jenkins) gid = ...
os arquivos:
/etc/profile
contém:
exportar LANG = pt_BR.UTF-8
exportar LANGUAGE = pt_BR: pt
/etc/default/locale
contém:
exportar LANG = pt_BR.UTF-8
exportar LANGUAGE = pt_BR: pt
O script de inicialização /etc/init.d/jenkins
deve exportar as localidades do sistema:
# carregar ambientes
se [-r / etc / default / locale]; então
. / etc / default / locale de
exportação LANG LANGUAGE
elif [-r / etc / environment]; então
. / etc / environment
export LANG LANGUAGE
fi
É claro que eu reiniciei depois de modificar as localidades;) O
Apache também usa as localidades do
sistema Meu sistema é uma instalação do Ubuntu 14.04.
Eu perdi para verificar outra coisa?
Obrigado pela leitura!
Eu espero que alguém possa ajudar :)