Сборка репозиториев TFVC
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Это важно
TFVC поддерживается только классическими конвейерами и не поддерживает YAML.
Выбор репозитория для сборки
При редактировании конвейера, использующего репозиторий TFVC, у вас есть следующие параметры.
- Чистый
- Указание локального пути
- Источники меток
Имя репозитория
Имя репозитория TFVC.
Сопоставления (рабочая область)
Включите значение типа Map только папки, необходимые конвейеру сборки. Если вложенная папка сопоставленной папки содержит файлы, которые не требуется конвейеру сборки, сопоставите его со значением типа Cloak.
Убедитесь, что сопоставить все папки, содержащие файлы, необходимые конвейеру сборки. Например, при добавлении другого проекта может потребоваться добавить другое сопоставление в рабочую область.
папки Cloak вам не нужны. По умолчанию корневая папка проекта сопоставляется в рабочей области. Эта конфигурация приводит к скачиванию всех файлов в папке управления версиями проекта. Если эта папка содержит много данных, сборка может тратить системные ресурсы сборки и замедлить конвейер сборки, скачав большие объемы данных, которые не требуются.
При удалении проектов найдите сопоставления, которые можно удалить из рабочей области.
Если это сборка CI, в большинстве случаев следует убедиться, что эти сопоставления соответствуют параметрам фильтра триггера CI на вкладке Триггеры.
Дополнительные сведения о том, как оптимизировать рабочую область TFVC, см. в статье Оптимизация рабочей области.
Очистка локального репозитория агента
Перед выполнением сборки можно выполнить различные формы очистки рабочего каталога локального агента.
В общем случае для повышения производительности локальных агентов не очищайте репозиторий. В этом случае, чтобы получить лучшую производительность, убедитесь, что вы также создаете добавочную сборку, отключив любой параметр Очистки задачи или инструмента, который вы используете для сборки.
Если необходимо очистить репозиторий (например, чтобы избежать проблем, вызванных остаточными файлами из предыдущей сборки), ниже приведены параметры.
Примечание.
Очистка не имеет значения, если вы используете размещенный корпорацией Майкрософт агент, так как вы получаете новый агент каждый раз в этом случае.
Если вы хотите очистить репозиторий, выберите true, а затем выберите один из следующих параметров:
источники: конвейер сборки выполняет отмену любых изменений и выжжет текущую рабочую область в
$(Build.SourcesDirectory)
.Источники и выходной каталог: та же операция, что и параметр "Источники" , а также удаление и повторное
$(Build.BinariesDirectory)
создание.Каталог источников: удаляет и создает повторное создание
$(Build.SourcesDirectory)
.Все каталоги сборки: удаление и повторное создание
$(Agent.BuildDirectory)
.
Триггеры CI
Выберите
триггер CI
Пакетные изменения
Установите этот флажок, если у вас много участников команды, которые часто отправляют изменения, и вы хотите уменьшить количество выполняемых сборок. Если этот параметр выбран, когда сборка запущена, система ожидает завершения сборки, а затем очередирует еще одну сборку всех изменений, которые еще не созданы.
Вы можете пакетные изменения и создать их вместе.
Фильтры путей
Выберите пути управления версиями, которые необходимо включить и исключить. В большинстве случаев эти фильтры соответствуют сопоставлениям TFVC. Фильтры путей можно использовать для уменьшения набора файлов, которые требуется активировать сборку.
Советы:
- Пути всегда указываются относительно корня рабочей области.
- Если фильтры путей не заданы, корневая папка рабочей области неявно включена по умолчанию.
- Если вы исключите путь, вы также не можете включить его, если вы не квалифицируйте его в более глубокую папку. Например, если исключить /tools, можно включить /tools/trigger-runs-on-on-эти
- Порядок фильтров путей не имеет значения.
Воротный вход
Вы можете использовать запись с проверкой изменений для защиты от критических изменений.
По умолчанию выбран параметр Использовать сопоставления рабочих областей для фильтров. Сборки активируются всякий раз, когда изменения регистрируются по пути, указанному в сопоставлениях источников.
В противном случае этот флажок можно снять и указать пути в триггере.
Как это влияет на разработчиков
Когда разработчики пытаются выполнить вход, им будет предложено создать изменения.
Затем система создает набор полок и создает его.
Примечание.
Если возникает ошибка, например The shelveset _Build_95;Build\6bc8a077-3f27-4936-82e6-415fbd53ba07 could not be found for check-in
, проверьте область авторизации задания на текущий проект для не выпуска конвейеров и убедитесь, что он не включен.
Дополнительные сведения о входе в систему см. в разделе Вход в папку, контролируемую вложеннойконвейера сборки.
Параметр запуска сборок CI
По умолчанию сборки CI не выполняются после завершения воротного процесса регистрации, а изменения будут возвращены.
Однако если требуется, чтобы сборки CI выполнялись после воротной проверки, установите флажок Запустить триггеры CI для фиксации изменений. При этом конвейер сборки не добавляет ***NO_CI** в описание набора изменений. В результате выполняются сборки CI, затронутые возвратом.
Несколько других вещей, которые нужно знать
- Убедитесь, что папки, включенные в триггер, также включены в сопоставления рабочей области.
- Вы можете запустить шлюзовые сборки на размещенном корпорацией Майкрософт агенте или локальном агенте.
Вопросы и ответы
При запуске конвейера возникает следующая ошибка:
The shelveset <xyz> could not be found for check-in
- области авторизации задания задано значениеколлекции? Репозитории TFVC обычно распределяются по проектам в коллекции. Возможно, вы считываете или записываете в папку, доступ к которой можно получить только в том случае, если область является всей коллекцией. Это можно задать в параметрах организации или в параметре проекта на вкладке Конвейеры.
При запуске конвейера возникает следующая ошибка:
The underlying connection was closed: An unexpected error occurred on a receive. ##[error]Exit code 100 returned from process: file name 'tf', arguments 'vc workspace /new /location:local /permission:Public
- Обычно это периодически возникает ошибка, возникающая при возникновении технических проблем службы. Повторно запустите конвейер.
Что такое скорби?
Scorch — это средство питания TFVC, которое обеспечивает управление версиями на сервере и локальном диске идентичны. См. Microsoft Visual Studio Team Foundation Server 2015 Power Tools.