Windows или Linux?
В Windows есть множество инструментов.
Прежде всего, вы код. Visual Studio является наиболее распространенным. Вы получаете sln-файл и пакет *. * Proj-файлов.
Когда речь идет о развертывании на удаленных серверах, часто используется сервер непрерывной интеграции. Мы используем TeamCity (http://www.jetbrains.com/teamcity/). Загрузите его локально, установите и создайте новый проект, выбрав «SLN-runner». Укажите его на свой файл sln.
Если вы хотите, чтобы часть развертывания работала, создайте небольшой файл сборки, такой как «MyProj.build», который содержит что-то вроде
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="BuildProject"
InitialTargets="CheckRequiredProperties"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0">
<Target Name="BuildProject">
<Message Text="Starting $(Configuration) build. Web site publish location $(OutputWebSite)" />
<MSBuild Projects="$(SolutionPath)"
Targets="Build"
Properties="BuildOutputPath=$(BuildOutputPath);
BuildOutputPathBin=$(BuildOutputPathBin);
Configuration=$(Configuration);
BuildConstants=$(BuildConstants);
MSBuildTargets=$(MSBuildTargets);
TargetFrameworkVersion=$(TargetFrameworkVersion);
TargetFrameworkProfile=$(TargetFrameworkProfile)">
...
Где SolutionPath указывает на ваш sln-файл.
Затем вы обновите конфигурацию TeamCity, указав вместо этого MyProj.build, используя средство запуска MsBuild.
Тогда вам нужен способ, чтобы TeamCity загружал все на ваш сервер. Powershell - это хорошая среда сценариев, которая может запускать код .Net, но вы будете вызывать его через MsBuild ...
как то так
http://community.bartdesmet.net/blogs/bart/archive/2008/02/16/invoking-powershell-scripts-from-msbuild.aspx
И тогда вы можете написать скрипт с помощью MsDeploy для вашего сервера:
http://blogs.iis.net/jamescoo/archive/2008/08/21/using-msdeploy-in-powershell.aspx