Откуда агент сборки TeamCity получает свою среду пути? - PullRequest
36 голосов
/ 12 января 2012

Я пытаюсь настроить TeamCity для сборки моего проекта, но мой psake buildscript завершается неудачно, причина сужается из-за невозможности найти исполняемый файл git, который, как предполагается, находится на пути. Когда я запускаю PowerShell и выполняю его самостоятельно, все работает нормально.

Содержимое переменной среды Path (как показано в списке системных переменных в диалоговом окне переменных среды Windows, а также в реестре в HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path) равно

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd

пока TeamCity говорит, что его env.Path просто

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Windows\System32\WindowsPowerShell\v1.0

Я перезагружал компьютер (несколько раз), что никак не помогает.

Почему переменная PATH агента сборки TeamCity отличается от системной по умолчанию и как я могу это исправить?

Ответы [ 5 ]

19 голосов
/ 08 февраля 2014

Я столкнулся с той же проблемой, и мне нужно было только перезапустить службу агента Team City Build, чтобы получить изменения в переменной PATH.

14 голосов
/ 15 мая 2015

Вы можете расширить путь для агента сборки, добавив параметр сборки с именем "env.PATH" со следующим значением в Mac OS и Linux.

%env.PATH%:/my/path

В Windows используйте ";"вместо ":" в качестве разделителя пути.

Вы также можете добавить следующее в conf / buildAgent.properties в каталоге установки агента сборки.

env.PATH=%env.PATH%:/my/path

(В нижней части файла есть комментарий, который показывает, как установить переменные среды.)

8 голосов
/ 26 августа 2015

Некоторые предыдущие ответы верны, но в них отсутствуют детали (и мне требуется некоторое время, чтобы по-настоящему их понять) - Где Агент по умолчанию берет свои переменные окружения, мне неясно: так вот способ четко исправитьих в конфигурации агента.

Редактирование файла TeamCity/buildAgent/conf/buildAgent.properties с помощью env.PATH=/usr/whatever поможет.В документации есть небольшая подсказка об этом.

Как только вы отредактировали этот файл, вы можете проверить в пользовательском интерфейсе, в Agents > Default Agent > Agent Parameters > Environment Variables, что они были обновлены (осторожно, эти переменные обновляются только в пользовательском интерфейсе, когда подключен агент; если он отключен, пользовательский интерфейс отображает предыдущие значения).

4 голосов
/ 07 августа 2012

Мое решение, подсказанное комментарием Тишмы, состояло в том, чтобы изменить переменную окружения Path для пользователя и перезапустить Team City Build Agent Service

Редактировать: Эта ошибка было исправлено с TeamCity 7.1

4 голосов
/ 21 февраля 2012

Решение находится в конфигурации сборки / 6 параметров сборки, где вы можете переопределить переменные env. [ANYTHING].

P.S. Жаль это слышать. Я все еще полон решимости добиться успеха с TeamCity.

...