Развертывание .NET с Jenkins/Hudson
Я использовал Jenkins/Hudson CI для развертывания моего проекта веб-сайта .NET. Я использовал плагин MSbuild для создания моего проекта, а затем xcopy, чтобы скопировать его на сервер.
Я заметил, что если я использую функцию публикации в Visual Studio, я получаю другой набор файлов. У меня есть конфигурационные преобразования, но в итоге все файлы .cs и winmerge показывают, что двоичные файлы отличаются друг от друга.
Итак, я хотел бы либо получить Jenkins, работая так же, как функция публикации, или подтвердить, что развертывание xcopy функционально такой же предмет.
Ответы
Ответ 1
У меня были хорошие впечатления от использования Web Deploy и в качестве окончательного этапа сборки с Jenkins, в котором был запущен файл bat, содержащий:
msdeploy.exe -verb:sync -source:package=%PACKAGE% -dest:auto,ComputerName=%TARGETHOST%
Вам нужно будет установить пакет развертывания на сервере сборки и расширение на IIS.
Ответ 2
Я использую плагин MSBuild Jenkins для создания и развертывания проекта. Как уже упоминалось в других ответах, вам необходимо установить Web Deploy.
На странице конфигурации проекта в Jenkins вам нужно добавить следующее в поле Аргументы командной строки:
/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName
Конечно, вам нужно сначала создать профиль публикации, либо в VS, либо экспортировать его из IIS, и вам также необходимо указать путь к файлу решения в поле MSBuild Build File.. p >