Плагин Jenkins и MSBuild and Copy Artifacts и правильное использование для нескольких проектов - PullRequest
0 голосов
/ 05 января 2012

Моя проблема сводится к этому базовому случаю: у нашего решения есть два проекта, A и B, которые проект C затем включает в процесс сборки.

Когда кто-то подталкивает к проекту A или B, Дженкинс строит проект с использованием MSBuild, архивирует артефакт, а затем запускает сборку C.

Когда начинается C, у него есть четыре задачи «Копировать артефакты», которые нужно запустить: сначала он копирует артефакты из A в. \ A \ obj \ Release \, затем копирует те же артефакты в. \ A \ bin \ Release. Затем он повторяется для проекта B. Затем он сам себя строит.

Правильно: для каждого проекта, на который опирается C, необходимо дважды запускать Copy Artifacts, иначе MSBuild обнаружит, что что-то устарело и все построено с нуля.

Есть ли более простой способ сделать это? Могу ли я передать в MSBuild параметр (или сконфигурировать .csproj), который говорит: «только соберите этот проект, допустим, что остальные двоичные файлы проекта актуальны, независимо от метки времени»? Есть ли лучший плагин, который позаботится об этом для меня?

Это действительно раздражает (и сбивает с толку) в нашем реальном случае, когда у нас есть почти 20 различных проектов с многоуровневыми зависимостями между ними.

1 Ответ

1 голос
/ 05 января 2012

Вы можете передать BuildProjectReferences = false в MSBuild, чтобы он пропустил ссылки автоматического построения и просто создал указанный проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...