Я хотел бы загрузить (через ftp) веб-сайт при выполнении сборки релиза в Visual Studio 2008. Я не хочу, чтобы загружались какие-либо файлы исходного кода, и было бы неплохо настроить, какие папки следует загружать. Я использую веб-приложения ASP.NET или MVC. Как настроить VS.NET на автоматическую загрузку (и перезапись) последнего развернутого веб-сайта?
Как вы автоматически развертываете веб-сайт во время сборки релиза?
Ответы (6)
Вы можете использовать Visual Studio Web Deployment Project, надстройка от Microsoft.
Я использую это с MSBuild как часть CruiseControl, это очень приятно, и с некоторыми из задач сообщества для MS Build вы можете выполнять подстановку * .config (или любого XML-файла) как часть процесса сборки.
Изменить: я также вижу, что задачи сообщества MSBuild включают действие FtpUpload. Это должно быть именно то, что вам нужно.
Что ж, оказывается, самый простой способ сделать это - использовать функцию «Опубликовать», встроенную в VS.NET.
Щелкните проект правой кнопкой мыши и выберите «Опубликовать». Он построит и развернет проект за вас. Очевидно, что это не так настраиваемо, как использование MSBuild или Nant, но у него есть некоторые параметры: 
Я использовал эту функцию раньше, но почему-то думал, что она доступна только для проектов «Веб-сайт».
Или вы можете использовать nant
У Nant нет задачи ftp. Здесь я нахожу наиболее удобное, очень легкое и красивое решение. Странно, почему этого нет в портах.
Это старый вопрос, но я бы посоветовал вам использовать для этого MSDeploy. При желании вы также можете использовать WDP., чтобы выполнить компиляцию и слияние ASP.NET за вас. Отличительной особенностью MSDeploy является то, что вы можете установить службу удаленного агента MSDeploy на целевой машине. Затем, когда вы выполните синхронизацию, он определит, какие файлы устарели, и отправит только эти файлы. Таким образом вы экономите время и трафик. Также вы можете выполнять преобразования по мере развертывания сайта. Его также легко развернуть на множестве разных серверов. У меня есть онлайн-видео о MSDeploy, подробнее об этом см. http://sedodream.com/2009/10/27/MSDeployPresentationMaterials.aspx.
отказ от ответственности: это написал я
Я использую то, что написал, чертовски: http://www.mirios.com.au/dashy
Но не используйте его легкомысленно, потому что вам необходимо иметь:
- Контроль версий (на данный момент ограничен SVN)
- CI-сервер (круиз-контроль или Hudson или что-то еще)
- Возможность установки программного обеспечения на сервер, на котором вы хотите развернуть
- Терпение, чтобы все настроить
- Немного доверия, потому что он все еще в разработке :)
Не стесняйтесь дать ему взлом, но в настоящее время я не рекомендую его для чего-либо критического.