2

I'm looking for some guidelines on what would be a best practice build system to allow automated deploys from subversion code to remote websites.

Currently I run a test and production branch for each environment for 3 apps:

  • PHP application
  • ASP.NET MVC app
  • ASP.NET web service

I deploy the ASP.NET apps via Web Deploy from Visual Studio and the PHP app from WebMatrix. It's better than nothing but still requires I load Visual Studio or WebMatrix and the application to do a deploy and I've found deploys from WebMatrix somewhat unreliable with some files missing after a deploy.

Ideally I'd like something that:

  • will check out the appropriate branch from Subversion
  • runs a build if necessary
  • deploys to a remote IIS server
  • allows rollbacks to previous copies of the code
  • has a web interface or can be run with a single CLI command (i.e. one click deploy)
  • has some file management capability to move files, create shortcuts, write to files, etc. (remotely)
  • can run SQL scripts if necessary
  • is open source or free to use

I'm not sure if I should using TeamCity (Professional), writing a MSBuild script, writing a WebDeploy script, or what. I'd probably run it on a build server.

1 Answer 1

1
+100

You can use TeamCity for it or a custom MSBuild script scheduled in normal Windows scheduler. One way or another, you will need to customize MSBuild script. You can then use it in TeamCity.

Personally, I would go with TeamCity. Using custom build tasks should allow you to do everything you want. TeamCity is free for commercial and non-commercial use.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.