Подтвердить что ты не робот

Откуда возникает агент сборки TeamCity от своего пути?

Я пытаюсь настроить 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 отличается от системного по умолчанию и как ее исправить?

4b9b3361

Ответ 1

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

Ответ 2

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

%env.PATH%:/my/path

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

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

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

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

Ответ 3

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

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

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

Ответ 4

Решение находится в Build Configuration/6 Build Parameters, где вы можете переопределить переменные env. [ANYTHING].

P.S. Послушай это. Я все еще настроен на успех с TeamCity.

Ответ 5

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

Изменить: Эта ошибка была исправлена ​​с TeamCity 7.1