Мне нужно отправить некоторый код на сервер 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