Как воспроизвести локальную сборку на основе конфигурации TeamCity?

Я начинаю работу с новой кодовой базой, которая имеет автоматизированные сборки в TeamCity. Зависимости определены в конфигурации TeamCity, которая берет части артефактов сборки из других сборок и извлекает их в подкаталог "lib" строящегося проекта.

Как разработчики воспроизводят локальную сборку, когда зависимости определены в TeamCity? Есть ли способ получить зависимости сборки TeamCity для локального обновления зависимостей?

Глядя на документацию по TeamCity, кажется, что конфигурация этого проекта является ожидаемым способом настройки зависимых проектов (функция TeamCity). Тем не менее, результатом проекта является MSI. Обычно это делится на две отдельные сборки (одна создает выходные данные сборки, которые включают в себя зависимости сборки и выходные данные сборки, а вторая - эти артефакты и генерирует MSI)?

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

Обновление: я рассматриваю возможность использования TeamCity в качестве сервера nuget, и локальные сборки устанавливают зависимые библиотеки с помощью клиента nuget. Было бы хорошо, если бы зависимости в TeamCity и Project были определены в одном месте (DRY).

1 ответ

Мой совет: не надо.

Избегайте ненужного подключения к TeamCity, если только он не предлагает реальную ценность для этой конкретной задачи. Если вы создаете подлинные программные пакеты, то есть независимые, многократно используемые библиотеки кода, то вам лучше просто создать их как отдельные конфигурации сборки и загрузить их на сервер Nuget (TC может функционировать как простой). Тогда ваши локальные сборки будут такими же, как сборки CI, с использованием инфраструктуры nugets.

Зависимости TC - это полезный инструмент, но его также можно использовать неправильно и злоупотреблять. Помните, что TC функционирует как сервер CI для многих платформ, некоторые из которых не имеют пакетов (или не имеют исторически).

Другие вопросы по тегам