TeamCity говорит использовать «Build Parameters» вместо «/ property:» на шаге MSBuild. Что это значит? - PullRequest
76 голосов
/ 02 июня 2011

У меня есть настройка сервера TeamCity для сборки CI. Я создаю и тестирую решение C # и запускаю несколько пользовательских задач MSBuild. Одна из этих задач - печать предупреждения в выводе моей сборки ...

Параметры командной строки MSBuild содержат параметры "/ property:" или "/ p:". Пожалуйста, используйте параметр Build Parameteres.

Я не понимаю, что это значит или как его убрать. Это не Google хорошо (с или без опечатки). Я запустил задачу из командной строки (с /verbosity:diagnostic), и она не появляется, поэтому я считаю, что это сообщение TeamCity.

Задача MSBuild -

<Target Name="InstallDb">
  <MakeDir Directories="$(DbPath)" />
  <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseDrop.sql" />
  <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseCreate.sql -v DbPath=&quot;$(DbPath)&quot;" />
  <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseProgrammability.sql" />
</Target>

А соответствующая информация о шагах TeamCity

MSBuild версия: 4.0
Версия MSBuild Tools: 4.0
Запустить платформу: x64
Цели: InstallDb
Параметры командной строки: /property:DbPath=%env.DB_PATH%

Ответы [ 2 ]

57 голосов
/ 02 июня 2011

Вы должны добавить Build Parameters в Properties and environment переменных в конфигурации

`enter image description here

Таким образом, в параметрах командной строки в Build Step для MSBUild удалите любое свойство, указанное как /p:, добавьте каждое из них в Build Parameters (снимок экрана выше) и присвойте значения

36 голосов
/ 08 августа 2011

Все это происходит за кадром! Вы просто должны следовать правильным соглашениям. В вашем скрипте MSBuild вы используете обычную переменную нотации

$(DbPath)

А в TeamCity вы определяете системную переменную или переменную env

system.DbPath

TeamCity автоматически отправит все свои переменные system / env в задачу MSBuild, удалив часть 'system' или 'env'. И вам не нужно писать /property:DbPath=system.DbPath в вашей задаче TeamCity.

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