Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

deployment tools under .NET solutions

We all do code, small (like one .exe) or big applications (complete solutions) with web applications, windows applications, databases, help files, configuration files and registry values...

my question is simple, in my opinion that is, now that I need to deploy a web application and a windows application in just one installation setup:

What do you use to the deployment of your applications, regarding creating of help files, database scripts so we can create a database and tables, create a virtual directory for the web applications, add registry values to work with our windows application?

I just open Setup & Deployment from Visual Studio 2008, but is it me or it lack a lot of such features? is there any thing worst a try out there for this?

I know Inno Setup that they use here in the company, but it does not do all, any good tutorial that I should see? In my search I found out some products in Visual Studio Gallery, but none does all-in-one :(

Thank you.

like image 981
balexandre Avatar asked Jan 06 '09 13:01

balexandre


1 Answers

I have written a pretty detailed blog post using TeamCity, and Web Deployment projects to automate build and deployment as a starter here:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

I have then added to this to show FTP addition

http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

A basic process flow is pretty simple:

  • Using a teamcity build server i download from my SVN repo
  • I build and deploy the site to a local folder on the build server
  • I fire a command line FTP client that supports scripting called
  • WinSCP using the MSBUILD Task EXEC (http://winscp.net/)
  • Upload all my sites content
  • Have [insert beverage] of choice

I then make sure that i only deploy the Trunk of my SVN repo, and develop and test everything in an branch before merging - this way only tested stuff gets deployed. Add Automated testing to your build cycle and you've got a match made in heaven.

Some great free tools to get going are:

  • Visual Studio Web Deployment Project
  • TeamCity (free for under 20 build configs)
  • Bamboo

Some non-free online services that provide this:

  • OnCheckin Continuous Deployment
  • AppHarbor
like image 142
Doug Avatar answered Oct 03 '22 20:10

Doug