VSTS построена из нескольких репозиториев
У меня есть два репозитория: один в TFVC и еще один в Git. Существуют особые технические причины для их раздельного хранения.
Код в TFVC построен на частном агенте сборки, а код в Git построен на размещенном агенте. Поэтому в настоящее время у меня есть две независимые сборки, и результаты их развертываются вместе в определении выпуска.
Я смотрю на создание сборок, которые могут получить источник из обоих репозиториев, так что у меня есть одно определение построения для управления.
Есть ли способ достичь этого?
Ответы
Ответ 1
На данный момент нет способа указать несколько репозиториев на шаге Получить источники.
И есть голос пользователя Разрешить сборку TFS, чтобы зависеть от нескольких репозиториев, который предлагает аналогичную функцию, вы можете голосовать и следить.
Обходной путь на данный момент - вручную получить файлы из другого репозитория.
Например, если вы указали репозиторий TFVC на шаге "Получение источников", вы можете добавить задачу PowerShell в начале задач и клонировать другое репозиторий git с помощью git clone <repo URL>
и т.д.
Ответ 2
TFVC
И обратный ответ Марины тоже возможен. После привязки определения вашей сборки к Git по умолчанию вы можете добавить скрипт powershell, чтобы отобразить рабочее пространство и извлечь источники:
tf workspace /new /noprompt /location:local /permission:private <name>
tf workfold /map $/Server/Path "$(Agent.BuildDirectory)\tfvc" /workspace:<name>
tf get "$(Agent.BuildDirectory)\tfvc"
И добавьте "всегда запускать задачу", чтобы потом очистить рабочее пространство:
tf workspace /delete <name>
rd /s /q "$(Agent.BuildDirectory)\tfvc"
Скачать артефакт
Другой вариант - использовать задачу "Скачать артефакт" для загрузки артефактов из следующего расширения: Артефакты TFS для управления выпусками.
Или задача Download Artifact, поставляемая с VSTS, хотя для этого требуется ссылка на определение сборки для загрузки, что означает, что вы можете создать CI-сборку на Git или TFVC, которая строит исходники, или просто присоединить каталог исходников, затем получить тех, кто находится в "другой" сборке.
Ответ 3
Вы действительно хотите создать оба РЕПО одновременно и объединить артефакты сборки? Или вы просто хотите использовать одно и то же определение для разных источников?
Если вы действительно хотите первыми, вы можете сценарировать выборку источников во время сборки, как указывали другие ответы. Однако, если строительство Git на хостинге и TFVC на частном предприятии является сложным требованием, создание обоих наборов источников одновременно приведет к сбою.
Я бы рекомендовал создать группу задач с вашими задачами, которые у вас есть. Затем создайте отдельные определения сборки, которые ссылаются на группу задач.