Мы используем Nuget для нашей внутренней разработки, чтобы мы могли делиться кодами между командами. Мы сталкиваемся с проблемами, однако, когда один человек работает над кодом, который будет развернут в нескольких пакетах nuget одновременно. Например,
A зависит от B, зависящего от C.
A, B и C имеют свои артефакты, выдвинутые Nuget, и то, как мы управляем зависимостями между A, B и C. Мы обнаружили, что если разработчик хочет внести изменения в C и быстро увидеть те изменения, которые отражены в A, они должны пройти следующий процесс.
- Внесите изменения в C.
- Нажать изменение до git
- CI подбирает изменения в C и строит и развертывает новый пакет nuget.
- Перейдите в B и обновите ссылку на C, используя команду пакета обновления nuget.
- Нажмите на изменение в файле packages.config до git
- CI берет изменения в B и строит и развертывает новый пакет nuget для B
- Теперь откройте A и измените ссылку на пакет обновлений B и nuget.
- Сделайте изменения в A, чтобы идти вместе с изменениями в B (и транзитивно C)
Это кажется чрезвычайно болезненным и вызывает у некоторых наших разработчиков вопрос о выборе Nuget для нашего внутреннего кода. Каждому по-прежнему нравится использовать внешние пакеты.
Есть ли какой-нибудь лучший рабочий процесс для внутреннего использования Nuget?