2012-01-04 1 views
0

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

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

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

Это верно: для каждого проекта C полагается, копировать артефакты нужно запускать дважды, иначе MSBuild обнаруживает, что что-то устарело, и все это строится с нуля.

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

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

ответ

1

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

+0

Как я пропустил это. Это, вероятно, именно то, что мне нужно. – moswald