Service Hook можно использовать для запуска обновления зависимостей в другом хранилище? - PullRequest
1 голос
/ 10 октября 2019

Я искал решение для следующей проблемы для нашего локального сервера Microsoft Team Foundation Server, которое мы используем с Git:

У нас есть несколько репозиториев с некоторым уровнем зависимости. Например, у нас есть репозиторий «Сообщения», который будет интерфейсом между несколькими репозиториями, каждый репозиторий - это отдельный модуль в нашем программном обеспечении, который будет работать в разных контейнерах, а сообщения - это интерфейс связи между этими модулями.

Когда мы изменили модуль «Сообщения», мы хотели бы иметь триггер, который информирует все зависимые проекты (автоматически), как, например, обновить версию пакета Nuget «Сообщения» в файле проекта и зафиксировать изменения,Когда кто-нибудь получит последнюю версию каждого модуля, которая зависит от модуля «Сообщения», при восстановлении его локальной версии проекта также будет получена последняя версия сообщений.

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

С наилучшими пожеланиями Пауло Абойм Пинто

1 Ответ

1 голос
/ 11 октября 2019

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

Крупные продукты имеют несколько компонентов, которые зависят от каждого из них. Другие. Эти компоненты часто создаются независимо. При изменении вышестоящего компонента (например, библиотеки) нижестоящие зависимости должны быть перестроены и повторно проверены. Команды обычно управляют этими зависимостями вручную.

Теперь вы можете запустить сборку после успешного завершения другой сборки. Артефакты, созданные в исходной сборке, можно загрузить и использовать в более поздней сборке , а также вы можете получить данные из этих переменных: Build.TriggeredBy.BuildId, Build.TriggeredBy.DefinitionId, Build.TriggeredBy.BuildDefinitionName.

enter image description here

См. Документацию по триггерам сборки для получения дополнительной информации.

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

...