Использование cruisecontrol.net для автоматизации развертывания asp.net mvc на файловом ресурсе - PullRequest
3 голосов
/ 11 июля 2011

Я изо всех сил пытался автоматизировать развертывание моего приложения asp.net mvc. Я нашел несколько вопросов по SO по этому поводу, но ни один из ответов не помог мне в этом.

Мои требования следующие:

  • Не использовать NAnt.
  • Не редактировать файл .sln. Я хочу использовать тот же файл и для моего устройства разработки.
  • Развертывание на файловом ресурсе
  • Следует применить преобразования web.config

Я нашел так много разных техник развертывания, у меня кружится голова. И я до сих пор не знаю, что делать сейчас. Пожалуйста, помогите.

--- Редактировать ---

Может быть, я должен немного перефразировать это; после создания проекта сайта с MSBuild. Что я должен скопировать в общую папку, чтобы «развернуть» мое веб-приложение?

--- 2-е редактирование ---

Я сравниваю это с автоматизацией сборки и развертывания настольного приложения: с настольным приложением; вы просто создаете его, используя файл .sln. А затем скопируйте все из папки bin / (debug | release) в папку по своему вкусу. Мой вопрос Что будет эквивалентом в веб-приложении?

--- И еще один ---

Я уже некоторое время исследую это. И некоторые вещи начинают становиться на свои места. Теперь я использую следующее:

msbuild "siteprojectfile.csproj" /T:Package

Таким образом, я получаю zip-файл, который якобы могу использовать с msdeploy. Но я не могу использовать файл, чтобы развернуть его в общей папке. Предложения приветствуются!

Ответы [ 2 ]

1 голос
/ 12 марта 2013

Хотите знать, будет ли это лучше, чем 2 команды выше?(Ссылка из этой статьи)

msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test

Заметив, что OP запрашивает общий файловый ресурс, PublishProfile можно настроить для публикации типа «На диск», но позволяетOP возможность изменять его, чтобы переходить на web, ftp и т. Д. С изменением конфигурации ... Я бы подумал.

Впрочем, кое-что из этого, вероятно, появилось только с VS2012, как VS2010не имел возможности контролировать исходные файлы, как это было в 2012 году.

1 голос
/ 27 июля 2011

Я сейчас использую два шага:

1

MSBuild.exe Site\Site.csproj /p:Configuration=Test /T:Package

2

aspnet_compiler -nologo -v / -p "Site\obj\Test\Package\PackageTmp" -f "\\server\website"

Я мог бы сделать простой шаг копирования вместо использования aspnet_compiler, но это также проверит мои представления и провалит сборку, если что-то не так.

Пока это прекрасно работает, но у меня есть чувство ("PackageTMP" ...), тем не менее, это не совсем оптимально.

...