Сборка репозиториев TFVC

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Внимание

TFVC поддерживается только классическими конвейерами и не поддерживает YAML.

Выбор репозитория для сборки

При редактировании конвейера, использующего репозиторий TFVC, у вас есть следующие параметры.

  • Очистить
  • Указание локального пути
  • Источники меток

Имя репозитория

Имя репозитория TFVC.

Сопоставления (рабочая область)

Включите значение типа сопоставления только для папок, необходимых конвейеру сборки. Если вложенная папка сопоставленной папки содержит файлы, для которых конвейер сборки не требуется, сопоставите его со значением типа Cloak.

Убедитесь, что сопоставлены все папки, содержащие файлы, необходимые конвейеру сборки. Например, при добавлении другого проекта может потребоваться добавить другое сопоставление в рабочую область.

Папки Cloak вам не нужны. По умолчанию корневая папка проекта сопоставляется в рабочей области. Эта конфигурация приводит к скачиванию всех файлов в папке управления версиями проекта. Если эта папка содержит много данных, сборка может тратить системные ресурсы сборки и замедлить конвейер сборки, скачав большие объемы данных, которые не требуются.

При удалении проектов найдите сопоставления, которые можно удалить из рабочей области.

Если это сборка CI, в большинстве случаев необходимо убедиться, что эти сопоставления соответствуют параметрам фильтра триггера CI на вкладке "Триггеры".

Дополнительные сведения о том, как оптимизировать рабочую область TFVC, см. в статье "Оптимизация рабочей области".

Очистка локального репозитория агента

Перед выполнением сборки можно выполнить различные формы очистки рабочего каталога локального агента.

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

Если необходимо очистить репозиторий (например, чтобы избежать проблем, вызванных остаточными файлами из предыдущей сборки), ниже приведены параметры.

Примечание.

Очистка не имеет значения, если вы используете агент, размещенный корпорацией Майкрософт, так как вы получаете новый агент каждый раз в этом случае.

Если вы хотите очистить репозиторий, выберите true, а затем выберите один из следующих параметров:

  • Источники: конвейер сборки выполняет отмену любых изменений и зажжет текущую рабочую область в $(Build.SourcesDirectory).

  • Источники и выходной каталог: та же операция, что и параметр "Источники" , а также удаление и повторное $(Build.BinariesDirectory)создание.

  • Каталог источников: удаляет и создает повторное создание $(Build.SourcesDirectory).

  • Все каталоги сборки: удаление и повторное создание $(Agent.BuildDirectory).

Триггеры CI

Выберите "Включить непрерывную интеграцию" на вкладке "Триггеры", чтобы включить этот триггер, если вы хотите запустить сборку всякий раз, когда кто-то проверка в коде.

Триггер CI.

Пакетные изменения

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

Вы можете пакетные изменения и создать их вместе.

Фильтры путей

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

Совет.

  • Пути всегда указываются относительно корня рабочей области.
  • Если фильтры путей не заданы, корневая папка рабочей области неявно включена по умолчанию.
  • Если вы исключите путь, вы также не можете включить его, если вы не квалифицируйте его в более глубокую папку. Например, если вы исключите /tools , можно включить /tools/trigger-runs-on-on-these
  • Порядок фильтров путей не имеет значения.

Запись с проверкой изменений

Вы можете использовать запись с проверкой изменений для защиты от критических изменений.

По умолчанию выбран параметр Использовать сопоставления рабочих областей для фильтров. Сборки активируются всякий раз, когда изменения регистрируются по пути, указанному в сопоставлениях источников.

В противном случае можно очистить это поле проверка и указать пути в триггере.

Как это влияет на разработчиков

Когда разработчики пытаются проверка-в, им будет предложено создать свои изменения.

Запрос проверка в шлюзе

Затем система создает набор полок и создает его.

Примечание.

Если возникает ошибка, например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.