Публикация TeamCity с помощью Visual Studio 2015

Я прочитал много статей о публикации из TeamCity с использованием различных версий Visual Studio. В настоящее время я использую v. 9.1.7 из TeamCity и Visual Studio 2015.

У меня есть 3 шага сборки при регистрации:

  • Очистить И Восстановить
  • Единица Теста
  • публикации

Build Steps

когда я проверяю свои файлы, я получаю успешные тесты сообщение:

Tests Passed

Я могу сказать отсюда, что что-то не так, как я ожидаю, что он скажет что-то о публикации. Когда я смотрю на журнал сборки, я вижу следующее:

[12:48:22][APIAPI.sln] опубликовать[12:48:22] [опубликовать] MSBuild[12:48:22] [MSBuild] APIAPIAPI.csproj: цель сборки: публикация [12: 48: 22][APIAPIAPI.csproj] _DeploymentUnpublishable

Мой шаг сборки публикации настройка таким образом:

Publish Build Step

в моем проекте API в Visual Studio я могу опубликовать в правильном месте в сети. Вот мой профиль публикации:

Visual Studio Publish Profile

Я не уверен, что я упускаю. Я ожидаю, что шаг сборки публикации будет работать, как при щелчке пункта меню сборка->публикация в Visual Studio.

Я предполагаю, что я что-то упускаю или недопонимаю, что предполагается, что шаг сборки публикации.

любая помощь приветствуется.

5 ответов


я смог заставить его работать после нескольких дней и дней поиска. Я нашел часть ответа здесь Переполнение Стека. Фишка в том, чтобы заставить его работать из командной строки MSBuild:

C:\TFS\project\myProject\APIproject>в MSBuild apiproject.csproj файл /p: DeployOnBuild=true /p: PublishProfile= " Properties\PublishProfiles\DEV.pubxml" /p:VisualStudioVersion=14.0

Как только я получил это несколько раз, я смог создать Постройте шаг в Team City (см. Это вопрос/ответ) и я установил следующее:

  • построить путь к файлу: <location of the apiproject.csproj>
  • версия MSBuild: Microsoft Build Tools 2015
  • MSBuild ToolsVersion: 14.0
  • запустить платформу: x86
  • Параметры Командной Строки: /p:DeployOnBuild=true /p:PublishProfile= "C:\TFS\API\API\Properties\PublishProfiles\DEV.pubxml" /p:VisualStudioVersion=14.0

IIRC, publishing from TeamCity требует определенных файлов или альтернативно VS, установленных на агенте сборки (что действительно не рекомендуется). Скопировали ли вы необходимые файлы в агент сборки?


где определено местоположение артефактов. И Вы можете использовать щупальца для публикации сборки в различных средах. Я думаю, вам нужно посмотреть на конфигурации артефактов.


вы можете использовать MSBuild runner для развертывания приложения / API enter image description here

добавить параметр командной строки :

/t:Clean /p:DeployOnBuild=true /t:build /t:publish /p:PublishProfile=C:\_works\teamcity\publishprofiles\Publiush_Profile.pubxml /p:VisualStudioVersion=12.0

URL-адрес PublishPrfile должен быть вашим путем к профилю публикации.

Это будет работать для вас.


VS, вероятно, найдет ваш профиль публикации только с именем, например: /p:DeployOnBuild=true;/p:PublishProfile=DEV; очень полезно, если вы ведете более одного агента построения.

и при развертывании на IIS и вы, возможно, должны добавить AllowUntrustedCertificate=true;