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 :)
Respostas:
Solução:
Isso acontece porque o mestre Jenkins se conecta à máquina escrava via
non-interactive
shell, portanto,/etc/profile
não é executado e também/etc/default/locale
não tem nenhum efeito.non-interactive
conchas geralmente estão usando~/.bashrc
.Quase todos os detalhes sobre este tópico podem ser encontrados no askubuntu:
/ubuntu/247738/why-is-etc-profile-not-invoked-for-non-login-shells
adicionando a
~/.bashrc
:fez isso por mim.
Esse 'problema escravo' também é discutido aqui:
https://groups.google.com/forum/#!topic/jenkinsci-users/hscDs4pKIoU https://groups.google.com/forum/#!topic/jenkinsci-users / g0fNnDltqeM Atenciosamente, whosit
fonte