Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What tool should I use to automate my deployment of my ASP.NET MVC application?

I've written a site for my summer internship using ASP.NET MVC. The progress is going well but one thing I have found painful is deployments. Particularly, because we have frequent deployments and I've been doing them by hand.

I'm looking for sort of the "standard" .NET deployment tool that can be utilized with an ASP.NET MVC project to automate our deployment process.

Some things I would like the tool to be able to do (that I do manually now):

  • Set compile mode to "Release"
  • Publish my ASP.NET MVC Web Application project
  • Ensure debug mode = "Off" in my Web Config
  • Change the connection strings for our database from dev db to prod db's info
  • Transfer the Website to the web server
  • Ideally, it would be nice if it stopped the IIS site and replaced the existing site with the new files, then restarted it.

Given sort of these soft requirements, what tool would you suggest I use to tackle this problem? I'm using II7 if it matters.

like image 554
mmcdole Avatar asked Jul 26 '09 02:07

mmcdole


People also ask

Which programming language can you use to create ASP NET MVC application?

Creating an ASP.NET MVC Web Application Project Select C# as the programming language and select the ASP.NET MVC Web Application project template.

How to deploy ASP NET Core to Azure?

Host and deploy ASP.NET Core 1 Publish to a folder. ... 2 Publish settings files. ... 3 Set up a process manager. ... 4 Set up a reverse proxy. ... 5 Proxy server and load balancer scenarios. ... 6 Use Visual Studio and MSBuild to automate deployments. ... 7 Publish to Azure. ... 8 Publish with MSDeploy on Windows. ... More items...

How do I deploy ASP NET Core app to host?

Host and deploy ASP.NET Core. In general, to deploy an ASP.NET Core app to a hosting environment: Deploy the published app to a folder on the hosting server. Set up a process manager that starts the app when requests arrive and restarts the app after it crashes or the server reboots.

What are the automated deployment tools?

Now Let’s see the list of Automated Deployment Tools! Jenkins is software that allows continuous integration by empowering teams to implement the technical part of a Continuous Delivery.Jenkins can be used as a simple CI server or turned into the continuous delivery hub for any project.

What is the best tool to deploy an application?

Top Deployment Tools. 1 1. Bamboo. @Atlassian. Atlassian’s Bamboo is a continuous integration server that automates release management for applications and general software, ... 2 2. TeamCity. 3 3. AWS CodeDeploy. 4 4. Octopus Deploy. 5 5. ElectricFlow. More items


1 Answers

I would use NAnt. You can have it:

  • Retrieve the code from your source code repository (it has plug-ins for the vast majority of them).
  • It can compile the code either directly or use your solution file and command line options to start vstudio. Look at the command line options and you can tell it to do a rebuild and to change the mode to Release.
  • It has XML commands (XMLPOKE) that will let you easily change the debug mode to off as part of the deployment
  • Copying files is easy (it has lots of ways to do this).

And, you don't need to stop the IIS site. You can simply add an app_offline.htm file (double-check my file name). When the site is hit, this page will automatically display. So have the NAnt script deploy the file as it's first step and remove it as it's last step.

like image 197
Jeff Siver Avatar answered Sep 24 '22 14:09

Jeff Siver