2016-07-18 3 views
1

По какой-то причине определение моей сборки не работает должным образом, если сопоставление длинного пути. Если я использую путь $/Project/Samples, он работает нормально.TFS 2015 Build не получает сопоставленный путь

Моя сборка имеет это в закладке хранилища: enter image description here

Затем журналы показывают, что нет СЛН найдено, и я подтвердил, что ничего не было загружено в агентских рабочих папок: enter image description here

Для меня это ошибка при получении источников, так как я не могу понять, почему это неправильно. Я уже пытался добавить файлы в некоторые папки выше, и он работает. Некоторые идеи?

+0

Можете ли вы поделиться своей структурой папок и журналами шага «Получить источники»? –

+0

В исходных источниках всего 4 записи, может ли быть реализовано длинные пути? 2016-07-22T21: 33: 19.7439002Z Syncing репозиторий: GLB-ПНВ (TFVC) 2016-07-22T21: 33: 20.9638996Z рабочая область Имя: ws_1_11; Сборка \ b26b6b35-d3d7-44c8-b4f1-c358c87a8356 2016-07-22T21: 33: 21.0729012Z tf get/версия: C528101 2016-07-22T21: 38: 22.4865285Z Готово синхронизировать хранилище GLB-NVS с версией C528101 (версия рабочей области -1) – Fabito

ответ

3

«Рабочая область -1» обычно возникает, когда нет разрешения на доступ к исходному элементу управления. Проверьте настройки «Наследование» для папок в исходном элементе управления и убедитесь, что он установлен на «Вкл.». Подробнее см. По этой ссылке: TFS 2015 Build Agent failing syncing the repository.

Аналогичный вопрос: TFS 2015 build agent failing to sync TFVC.

+0

На лету! Это трюк, но интересно, что мы не можем отключить наследование, было бы нормально включить его здесь, но в некоторых случаях это невозможно, я думаю. – Fabito

+0

@Fabito Вы можете отключить его, но вам необходимо установить разрешение безопасности для всех папок вручную после его отключения. –

+0

Я вижу, какие разрешения необходимы агенту сборки для загрузки источников? – Fabito

1

Возможно, это ошибка длинного пути. Способ устранения этой проблемы заключается в сбросе пути рабочей папки.

Расположение рабочей папки по умолчанию является папкой _work непосредственно под каталогом установки агента . Вы можете изменить местоположение, которое должно быть вне каталога установки агента, например: /WorkFolder: C: _work. Одна из причин, по которой вы захотите сделать это, - это избежать ошибок «путь слишком долго» в файловой системе.

Source link

А также множество Clean = "ложь". Это также может быть основной причиной. Если вы установили /Project/Samples и построили определение. Он вытащит все файлы под /project/Samples. Установите длинный путь еще раз, в рабочей папке были файлы. TFS может не получить новые файлы. Установите Clean = "True" и попробуйте еще раз.

+0

Кажется, что проблема с длинным пути к папке. Но даже добавив путь как d: \ w, он еще не получает файлы. Когда я указываю на корневую папку, он получает все файлы. Если я укажу, что получаю только подпапку, она ничего не получает, я тоже пробовал на другом сервере. Создал новый Team Project для репликации проблемы, и это происходит так же, как и раньше. – Fabito

4

Этот вопрос должен быть рассмотрен как в коллекциях Team Project Collection, так и в Team Project.

Первый, команда Коллекция проекта:

  1. Просмотр в http://[my_tfs_server]:8080/tfs/[my_collection_name]/_admin/_security?_a=members (вашей коллекции безопасности вкладка администратора)
  2. Нажмите на группы TFS "Project Collection Построить учетные записи службы"
  3. Обеспечить пользователь (не группа) «Project Build Build Service (TEAM FOUNDATION)» входит в группу
  4. Если это не участник, добавьте его wit ч меню «Добавить пользователя Windows или группу», а затем Обзор - вы должны найти его в списке пользователей

Второй, команда проекта:

  1. Просмотр в http://[my_tfs_server]:8080/tfs/[my_collection_name]/[my_team_project]/_admin/_versioncontrol

  2. Удостоверение пользователя (не группа) «Служба сборки проектов (TEAM FOUNDATION)» присутствует в списке безопасности (вместе с группой «Учетная запись сборки сборки проекта»)

  3. Если это не член, добавьте его в меню «Добавить идентификатор Windows», а затем Обзор - вы должны найти его в списке пользователей

Третьего, убедитесь, что «Учетные записи службы сборки проектов» и «Project Build Service (TEAM FOUNDATION)» имеют соответствующие права на контроль версий, такие как «Чтение» и «Метка». Убедитесь, что для Inheritance установлено значение On.

С этими разрешениями на месте проблема -1 должна решаться.

+0

Это ключ! «Проект строительства (TEAM FOUNDATION)» пропал без вести. Я сравнил с другим проектом и смог прочитать его без проблем. Я написал инструмент, который очистил все индивидуальные разрешения и включил наследование для всех папок/файлов в проекте. Кажется, это было случайно удалено. Я не собирал их вместе, потому что команда, о которой идет речь, еще не потребляла сборки vNext, поэтому это не возникало до нескольких месяцев спустя, когда они начали переход на vNext. Спасибо за помощь, Томас! – Brian

Смежные вопросы