TeamBuild - Можно ли выбрать, какие проекты компилировать во время сборки?

StackOverflow https://stackoverflow.com/questions/806540

  •  03-07-2019
  •  | 
  •  

Вопрос

Я автоматизирую процесс сборки с помощью TeamFoundation, и мне нужно выбрать, какие проекты компилировать в соответствии с файлом .proj из сборки.Вот полный сценарий:

У меня есть файл .proj, который использует файл .sln для компиляции решения, содержащего 2 веб-сайта.Файл .sln настроен для компиляции обоих веб-сайтов в конфигурации выпуска.

Моя цель - скомпилировать только 1 веб-сайт для каждого типа сборки, а именно я хочу, чтобы BuildType1 скомпилировал веб-сайт 1, а BuildType2 - веб-сайт 2.

Возможно ли "модифицировать" файл .sln таким образом, чтобы я мог снять пометку с одного из веб-сайтов для компиляции?Поскольку это автоматизированный процесс, я не могу изменять .sln вручную каждый раз, когда хочу скомпилировать только один веб-сайт.

Это было полезно?

Решение

Посмотрите на раздел SolutionToBuild в файле TFSBuild.proj.

<SolutionToBuild Include="$(BuildProjectFolderPath)/path/MySolution.sln">
   <Targets>MyCustomTarget1;MyCustomTarget2</Targets>
   <Properties> Configuration=Release</Properties>
</SolutionToBuild>

Другие советы

Есть два основных способа, которыми вы можете управлять сборкой:

  • создайте отдельный тип сборки в вашем Team Explorer.У этого будет свой собственный полностью независимый файл TFSBuild.proj, поэтому он может создавать ту же кодовую базу совершенно другим способом.Настройте SolutionToBuild так, чтобы он создавал именно то, что вы хотите (как описано в принятом ответе).

  • Используйте один тип сборки и настройте его TFSBuild.proj на использование свойства для управления тем, что создается (это требует более глубокого понимания сценариев MSBuild).Затем в диалоговом окне Создания новой очереди вы можете использовать /p:установите флажок командной строки, чтобы установить свойство так, как вам нужно.например ,"/p:IncrementalGet=false;IncrementalBuild=false;ForceGet= true" заставит обычную инкрементную сборку выполнить полную перестройку.Это полезно в отдельных ситуациях, но не очень хорошая идея для повседневных сборок, поскольку каждый раз вам приходится устанавливать параметры вручную.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top