Ответ 1
Я столкнулся с этой же проблемой и мне нужно было только перезапустить службу агента сборки Team City, чтобы получить изменения в переменной PATH.
Я пытаюсь настроить TeamCity для создания моего проекта, но мой скрипт psake не работает, и причина сужается до невозможности найти исполняемый файл 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 отличается от системного по умолчанию и как ее исправить?
Я столкнулся с этой же проблемой и мне нужно было только перезапустить службу агента сборки Team City, чтобы получить изменения в переменной PATH.
Вы можете расширить путь для агента сборки, добавив параметр сборки с именем "env.PATH" со следующим значением в Mac OS и Linux.
%env.PATH%:/my/path
В Windows используйте ";" вместо ":" в качестве разделителя пути.
Вы также можете добавить следующее в conf/buildAgent.properties в каталог установки вашего агента сборки.
env.PATH=%env.PATH%:/my/path
(В нижней части файла есть комментарий, в котором показано, как установить окружение vars.)
Некоторые предыдущие ответы верны, но им не хватает деталей (и мне нужно некоторое время, чтобы их действительно понять). Когда агент по умолчанию принимает переменные среды, мне не ясно: так вот, чтобы четко зафиксировать их в конфигурации агента.
Редактирование файла TeamCity/buildAgent/conf/buildAgent.properties
с помощью env.PATH=/usr/whatever
сделает трюк. В документации есть небольшая подсказка.
Как только вы отредактируете этот файл, вы можете проверить в пользовательском интерфейсе, в Agents > Default Agent > Agent Parameters > Environment Variables
, что они были обновлены (осторожно, подумали, эти переменные обновляются только в интерфейсе пользователя, когда агент подключен; отключен, пользовательский интерфейс отображает предыдущие значения).
Решение находится в Build Configuration/6 Build Parameters, где вы можете переопределить переменные env. [ANYTHING].
P.S. Послушай это. Я все еще настроен на успех с TeamCity.
Мое решение, намеченное комментарием tishma, состояло в том, чтобы изменить переменную среды Path
для пользователя и перезапустить Team City Build Agent Service