2014-01-15 3 views
21

Откуда берутся переменные среды под Jenkins (управлять jenkins -> системная информация)?Переменные среды в Jenkins

Я проверил /etc/init.d/tomcat5,/usr/bin/dtomcat5,/usr/bin/tomcat5,/etc/sysconfig/tomcat5 и/etc/profile, но не вижу таких переменных там специально связанные с Oracle (Base, Home, Ld_lib path и т. д.). В baschc Tomcat есть некоторые связанные с оракулом переменные, которые я прокомментировал, но я все еще вижу то же самое на информационной странице системы jenkins. Любые направления?

ответ

33

Переменные окружения, отображаемые в Дженкинс (Управление Дженкинс -> Информация о системе) унаследованы от системы (т.е. наследуемые переменные окружения)

Если запустить env команду в оболочке вы должны увидеть те же переменные окружения как показывает Дженкинс.

Эти переменные либо задаются оболочкой/системой, либо вами в ~/.bashrc, ~/.bash_profile.

Есть также переменные окружения, установленные Дженкинс, когда задание выполняется, смотрите здесь:
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariables
, но они не отображаются в системной информации.

+0

Я установил переменную среды для учетной записи jenkins, а также учетную запись root для переменной TZ в файле ~/.bashrc, ~/.bash_profile обеих учетных записей. Команда env в обоих списках перечисляет настройки TZ var. Но страница Jenkins/systemInfo не показывает TZ, и мой модульный тест, который опирается на него, терпит неудачу. Что может быть неправильным? –

+0

@FarrukhNajmi Попробуйте установить переменную окружения как общую систему в [/etc/environment](https://help.ubuntu.com/community/EnvironmentVariables#A.2BAC8-etc.2BAC8-environment) или указать файлы, Вы добавили свои собственные переменные в начале сценария сборки. См. Также: https://stackoverflow.com/questions/5818403/jenkins-hudson-environment-variables – bitek

+1

Если вы используете Jenkins в Windows и запускаетесь как системный сервис, убедитесь, что переменные окружения заданы как системные а не для каждого пользователя, иначе Дженкинс не сможет их увидеть. – pxb

13

Что в конечном счете работал для меня были следующие шаги:

  1. Настройка окружающей среды Injector Plugin: https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
  2. Goto к/работы // настройки экрана
  3. В среды сборки проверка раздел «Inject среды переменные для процесса сборки »
  4. В« Содержимое свойства »указано: TZ = Америка/New_York
+0

Я пытаюсь установить переменную с динамическим значением. Знаете ли вы, как выполнить запуск команды script/batch на шаге 4, чтобы установить значение? – NealR

+2

Плагин EnvInject позволяет подготовить среду, используя сценарий оболочки, либо путем ссылки на файл сценария (см. Путь к файлу скрипта), либо путем включения его содержимого (см. Содержание сценария). Я был бы признателен за правильное голосование и отметил бы это как правильный ответ. Благодарю. –

Смежные вопросы