Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I own a VPS with Windows Server 2012 on it. I can install whatever I want on it.

In the past when deploying an ASP.Net MVC project, I would right click the project in the solution and Publish it.

I would then copy over the files to the IIS folder and that would be a deployment for me. But this is no longer something I want to do. There has to be an easier way right?

How can I streamline the deployment process? I'm 100% in the dark on this subject with .NET.

Can I set something up on my server so I can Web Deploy to my VPS? Or is there a better alternative?

Thank you!

share|improve this question
3  
This question appears to be off-topic because it is about deployment issues and integration within multiple Microsoft products. –  GlenH7 Sep 27 '13 at 14:58
add comment

closed as off-topic by gnat, GlenH7, Dan Pichelman, Robert Harvey, MichaelT Sep 28 '13 at 0:22

  • This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

There's a lot of different options, here's a few I've worked with:

  • Octopus - packages up your site as a NuGet package (depending on what you have included in compilation in your cs/vbproj files) and delivers it on command to any number of servers that have the Octopus "Tentacle" service installed. I've used it for a few pet projects and it's been great, but may be overkill for what you're doing. Works really well in combination with a build server (in my case, TeamCity).

  • VCS Deployment - what we've been doing at the company I work for has been a combination of uploading binaries and using our Git repository to deploy non-compiled files to the application. Seems to be working well for us so far. If you really wanted to make it a one-step process (and your compiled files are relatively small), you could include binaries in the repo and just deploy entirely this way. (Don't recommend that, but, well, you could.) It's not one click (unlike Octopus) and you can run into issues with DLL Hell if you don't remember to deploy your resources properly, but you generally ensure at least your static content is always in line with your repository.

  • Web Deploy - admittedly, I haven't done much with it, so I can't really offer too much of a recommendation. I've heard success stories, and I've also heard war stories with its use. YMMV on this one.

  • FTP - just FTP the whole dang thing up to your VPS every build. Only appropriate for small projects, but hey, sometimes it's the appropriate tool. Why use a sledgehammer to crush an aluminium can when you can just step on it? (Besides the obvious entertainment factor.)

.NET deployment is definitely getting better, but still has a long way to go. Good luck!

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.