Запустить TF.exe из TeamCity не удается. Тот же сценарий с того же сервера и с использованием того же пользователя, что и агент, успешно - PullRequest
0 голосов
/ 07 мая 2018

Мне нужно отправить некоторый код на сервер TFS (контроль исходного кода TFS) как часть нашего процесса сборки. Я звоню в TF.exe с параметром / Login: и подробностями учетной записи службы. Если я запускаю этот пакетный файл локально как мой пользователь или в агенте сборки как локальная система (агент запускается как этот пользователь), он работает нормально. Полномочия принимаются. Если я добавлю этот же сценарий в этап сборки «Пользовательский сценарий» TeamCity, сценарий завершится с ошибкой «TF30063: У вас нет прав доступа к [ServerName] \ tfs \ DefaultCollection. Есть идеи?

    mkdir Workspace
cd Workspace
tf workspace -new CodeWorkspace;username -noprompt -server:[ServerName]/tfs/DefaultCollection /login:"username,password"
tf workfold -map $/"Database Dependencies" . -workspace:CodeWorkspace -server:[ServerName]/tfs/DefaultCollection /login:"username,password"
tf get /force /all -recursive -noprompt  /login:"username,password"
tf checkout MercuryDatabaseShared.dacpac MercuryPortal.dacpac PhoenixDatabase.dacpac  /login:"username,password"
tf checkin MercuryDatabaseShared.dacpac MercuryPortal.dacpac PhoenixDatabase.dacpac  /login:"username,password" /noprompt /force /comment:"***FROM TEAMCITY - %build.number%***" 
tf workfold -unmap . -workspace:CodeWorkspace /login:"username,password"
tf workspace -delete CodeWorkspace -noprompt -server:[ServerName]/tfs/DefaultCollection  /login:"username,password"
cd ..
RMDIR /S /Q Workspace

1 Ответ

0 голосов
/ 08 мая 2018

Если вы можете выполнить команды tf вручную, успешно на машине агента, но потерпели неудачу при сборке TeamCity, пожалуйста, проверьте, используется ли конфигурация агента для TeamCity под той же учетной записью, что и ваш локальный компьютер. И вы можете устранить неполадки со следующими аспектами:

  • Выбирая служебную учетную запись для агента после установки, проверьте, запускаете ли вы агент TeamCity под учетной записью пользователя.

    enter image description here

  • Двойная проверка в веб-интерфейсе TeamCity -> вкладка «Агенты» -> щелкните на агенте -> вкладка «Параметры агента» -> вкладка «Переменные среды» -> убедитесь, что домен и имя пользователя соответствуют домену и имени пользователя, которым вы являетесь войдите в систему TFS.

    enter image description here

    enter image description here

  • При использовании опции /login:username,password для команд tf, пожалуйста, используйте domain\username и пароль для входа. Такие как

    tf workspaces /collection:http://tfsServer:8080/tfs/DefaultCollection /login:"fareast\myname,password"
    
...