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

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

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

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

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

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


person chrish    schedule 25.10.2013    source источник


Ответы (1)


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

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

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

person Jack Ukleja    schedule 16.12.2015