Как установить кодировку по умолчанию в Jenkins?
у меня есть скрипт python, который выводит символы, отличные от ascii. Он отлично работает из командной строки (которая Лэнг язык.UTF-8), но как только я пытаюсь запустить его в Дженкинсе (запущенном из той же оболочки), он терпит неудачу типичным образом терминала ascii:
UnicodeEncodeError: 'ascii' codec can't encode character u'xe5' in position 37: ordinal not in range(128)
Я попытался предшествовать вызову скрипта в шаге сборки "Execute shell" следующим образом:
export LANG=en_US.UTF-8
, это, кажется, игнорировать это. Помещая следующее в мой python сценарий:
print "Encoding = %s" % sys.getdefaultencoding()
дает мне это, независимо от того, что я делаю:
Encoding = ascii
Итак, есть что-то, что позволит мне заставить Дженкинса использовать UTF-8?
4 ответов
Если вы хотите установить кодировку на системном уровне в вашей установке Дженкинса, вы можете добавить ее в качестве пары ключ-значение глобальных свойств (Дженкинс -> управление Дженкинсом -> настройка системы) с name=LANG
и value=<insert your locale here>
(что в моем случае равно en_GB.UTF-8
). Таким образом, вы избегаете установки локали для каждого задания Jenkins.
мое решение было: обновление до последней версии Дженкинсом. Кажется, последняя версия уважает настройки языкового стандарта системы. Смотри, например,этот патч может?
в любом случае, значение по умолчанию, поставляемое с Ubuntu 13.10, устарело. Удаление последней версии из их официального РЕПО debian исправило это для меня!
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Дженкинс + на + Ubuntu