У нас работает TeamCity. Я установил BuildAgent в коробку Windows, где он запускается как служба. Вместо того, чтобы запускать его под учетной записью Local System, я решил запустить его как выделенный пользователь. Эта машина использовалась для построения наших решений в прошлом, и все необходимые инструменты уже установлены и доступны этому пользователю.
Большая часть сборки и тестирования работает нормально. Но у меня есть несколько шагов до и после сборки, выполняющих административную работу. Эти шаги используют внешние команды, такие как attrib и xcopy (как обычно, находятся в System32). Они не могут быть выполнены BuildAgent при запуске с выделенным пользователем. Если я добавлю полный путь к System32 к этим командам, они также будут работать хорошо. Очевидно, что это проблема окружающей среды.
При запуске с учетной записью локальной системы эти шаги выполняются, как ожидается. (Есть и другие причины не использовать учетную запись локальной системы, поэтому, к сожалению, это не решение).
Откат, запустив BuildAgent из консоли, также работает нормально. Но так как также возможно запускать BuildAgent в качестве службы при использовании учетной записи локальной системы, я ищу способ изменить выделенного пользователя (права или среду), чтобы он мог запускать BuildAgent в качестве службы.
Чего мне не хватает?