MSBuild не развертывает приложение MVC в задаче сборки

Недавно была поставлена ​​задача загрузить проект MVC в TeamCity. При этом я узнал, что приложения MVC ДОЛЖНЫ БЫТЬ развернуты, в отличие от большинства «обычных» веб-приложений.

Принимая во внимание все это, я создаю задачу сборки проекта, как и любые другие, с некоторыми трудностями при поиске и МНОГО гугления.

Вот что у меня получилось:

  • Тип бегуна: MSBuild
  • MSBuildVersion: 4.0
  • Инструменты MSBuildВерсия: 4.0
  • Платформа запуска: x64
  • Цели: построить; опубликовать
  • Параметры командной строки: /p:Configuration=Staging;PackageLocation="C:\Sites\temp_publish\project\prod\project.zip"

Я читал, что мне нужно установить проект веб-развертывания для сервера, но у нас на сервере не установлена ​​Visual Studio, только TeamCity 8.x.

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

Какие еще настройки мне нужно установить, или если мне нужно разделить сборку и развертывание на две отдельные задачи, какой должна быть вторая задача?


person GoldBishop    schedule 15.07.2013    source источник


Ответы (1)


Мне потребовалось некоторое время, чтобы вернуться к моему первоначально опубликованному вопросу.

Окончательным решением было добавить это в файл csproj.

<Target Name="PublishToFileSystem" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder">
    <Error Condition="'$(PublishDestination)'==''" Text="The PublishDestination property must be set to the intended publishing destination." />
    <MakeDir Condition="!Exists($(PublishDestination))" Directories="$(PublishDirectories)" />
    <ItemGroup>
      <PublishFiles Include="$(_PackageTempDir)\**\*.*" />
    </ItemGroup>
    <Copy SourceFiles="@(PublishFiles)" DestinationFiles="@(PublishFiles->'$(PublishDestination)\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
</Target>

а затем укажите цель сборки: PublishToFileSystem

Часть параметров MSBuild в итоге выглядела так:

/p:Configuration=Release;PublishDestination=%WebSiteDirectory%

где %WebSiteDirectory% является местом назначения для веб-сайта.

person GoldBishop    schedule 19.11.2013