TFS Build загружает все ветки исходного кода проекта, что увеличивает пространство, занимаемое на TFS Server. - PullRequest
1 голос
/ 07 ноября 2019

Мы используем TFS для создания и перемещения исходного кода на веб-сервер. Перед сборкой файлы локально копируются в TFS Server. В TFS код организован так, как показано на рисунке.

Теперь сборки настраиваются на уровне веб-сайта (QA-Web1). Но после сборки все файлы загружаются (для каждой ветки и каждого сайта). Это постоянно увеличивает размер на сервере, и требуется либо очистка вручную, либо добавление места на сервере.

Можно ли ограничить загрузку исходного кода только необходимой папкой?

Кроме того, как можно выполнить это действие для удаления существующих папок? Файлы создаются в папке с именем в виде числа, которое не имеет отношения к имени сборки. Есть ли соответствие между номером и именем сборки?

TFS Code Arrangement

Example of Folder Created on TFS Server

Sample Build Definition

Ответы [ 3 ]

1 голос
/ 11 ноября 2019

Согласно вашему скриншоту, TFSAgent_Builddata_DEVQA должна быть вашей папкой агента сборки в рабочей области.

Переменная Agent.BuildDirectory

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

Там нет ни одногоотображение между номером и именем сборки. ..\TFSAgent_Builddata_DEVQA\525 Для каждого определения сборки создается папка (например, 1, 2, 3, 4 ... 525). Мы не можем повлиять на число.

Для концепции этой части, вы также можете взглянуть на этот похожий вопрос: Увеличение в каталог _work

Для субпапки:

  • ..\TFSAgent_Builddata_DEVQA\525\a равно Build.ArtifactStagingDirectory Локальный путь на агенте, в который копируются любые артефакты перед отправкой в ​​место назначения.
  • ..\TFSAgent_Builddata_DEVQA\525\b равно Build.BinariesDirectory Локальный путь к агенту, который вы можете использовать в качестве выходной папки для скомпилированных двоичных файлов.
  • ..\TFSAgent_Builddata_DEVQA\525\s равен Build.SourcesDirectory Локальный путь к агенту , куда загружаются файлы исходного кода .

Ссылка на источник

Чтобы уменьшить дисковое пространство вашего агента сборки, вы можете перейти к Get sources -- Workspace mappings, как показано на скриншоте, и убедитесь, что вы сопоставили проект, который хотите построить.

enter image description here

Включить со значением типа Mapтолько те папки, которые требуются вашему конвейеру сборки. Если подпапка сопоставленной папки содержит файлы, которые конвейер сборки не требует, сопоставьте ее со значением типа Cloak. Для получения более подробной информации, пожалуйста, обратитесь к нашему официальному учебнику здесь: Mappings


Для других способов:

  1. Вы можете указать политики хранения сборки , который автоматически удалит старые завершенные сборки, чтобы свести к минимуму беспорядок . Вы изменяете эти политики на вкладке «Сохранение» определения вашей сборки.
  2. Используйте служебную задачу «Удалить файлы». Переменные $(Agent.BuildDirectory) и $(Build.SourcesDirectory) полезны для этого. Он удалит файлы после успешной сборки. За дополнительной информацией обращайтесь: Очистите рабочую папку после каждой сборки
0 голосов
/ 12 ноября 2019

Решение, предложенное PatrickLu-MSFT. «Изменен раздел« Карта (в репозитории) »для получения определенной папки вместо родительской папки проекта». Теперь в папку «Агент» на сервере загружается только необходимая папка. enter image description here

0 голосов
/ 07 ноября 2019

Вам необходимо правильно настроить рабочее пространство вашей сборки. Ваше рабочее пространство отображается слишком широко, возможно, в корне ($/TFS Project). Вы должны охватить это более узко. Это можно сделать на вкладке Репозиторий.

...