2010-10-24 3 views
1

Эй, ребята, поэтому я недавно получил VPS, так что я могу начать набирать опыт. Но я ищу сервис/программу, где я могу писать код на своем ПК, а затем, когда я закончил, я запустил сценарий или выполнил команду или что-то, чтобы обновить ее до моего VPS.Есть ли система, которую я могу использовать для обновления моих проектов на моем VPS?

Я думал, что искал Гит, но, видимо, гит не делает того, что я ищу.

Любые предложения?

+0

Развертывание редко является агностиком платформы, поэтому конкретно, какие вещи вы пытаетесь обновить на сервере? –

+0

Что здесь делать не стоит? – Ross

ответ

1

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 accross на ваш сервер: http://blogs.iis.net/jamescoo/archive/2008/08/21/using-msdeploy-in-powershell.aspx

0

Инструменты «rsync» или «scp» могут быть полезны