Boring Builds
Boring Builds

Reputation: 23

.NET build & deploy

To deploy my app on a clean server takes several steps: Start MSSQL service, install .NET4, deploy code, install DB schema, add SSL certificate to IIS7...

Thereafter I follow a more boring task of: Zip up my app files, transfer them to the server, load them into the web app folder etc.

The deployment is done on a semi-frequent basis as my product sells to enterprise customers. Thereafter it's the boring build and deploy task.

Is there a recommended .NET tool that can help automate the above tasks? BTW, I use VS2010 with IIS7 and .NET4.

Upvotes: 2

Views: 1001

Answers (3)

SpeksETC
SpeksETC

Reputation: 1013

Have you considered creating an MSI to install using Windows Installer?

You can do this using InstallShield or Wix and can get much of the functionality you describe for "free" (e.g. installing .net, starting/stopping services, deploying code, etc.).

Upvotes: 1

Steve
Steve

Reputation: 1199

Yes, Powershell can do all this for you. Pretty much anything a .NET program can do, Powershell can do it since you can import .NET assemblies and use it in powershell.

I use powershell in my project to:

1) Setup the registry

2) Unzip the dropped code

3) Build the web folders and move files

4) Deploy SQL stored procedures

5) Restart IIS

For an in-depth review of using Powershell for deploying see this article

Upvotes: 1

Jakub Konecki
Jakub Konecki

Reputation: 46008

Web Deploy

Web Deploy (Web Deployment Tool) simplifies the migration, management and deployment of IIS Web servers, Web applications and Web sites. Administrators can use command-line scripting with Web Deploy to synchronize IIS 6.0 and IIS 7.0 servers or to migrate an IIS 6.0 server to IIS 7.0. Web Deploy Tool also enables administrators and delegated users to use IIS Manager to deploy ASP.NET and PHP applications to an IIS 7.0 server.

Web Deploy enables you to package configuration and content of your installed Web applications, including databases, and use the packages for storage or redeployment. These packages can be deployed using IIS Manager without requiring administrative privileges. The tool integrates with Visual Studio 2010 to help developers streamline the deployment of Web applications to the Web server. The tool also integrates with the Web Platform Installer to allow you to simply and easily install community web applications. You can submit your own application to the Web Application Gallery

Features

Seamless integration with IIS 7.0 Manager and Visual Studio 2010 interface for creating packages and deploying them onto a machine, both locally and remotely. Seamless integration with the Web Platform Installer to install community web applications simply and easily. Web application packaging: Ability to package a Web application or an entire site, including the associated databases. Ability to package ACLs, COM, GAC and registry settings. Supports both live servers and zipped packages as a source or destination. Web application deployment: Administrative privileges are not required in order to deploy Web applications. Ability to add powerful parameters to change text in files when they are deployed (such as prompting to replace a connection string when deploying from QA to staging environments). Integration with the IIS 7.0 Web Management Service (WMSVC) for remote deployment by non-administrators. Server administrators have granular control over the operations that can be performed and can delegate tasks to non-administrators. Web server migration and synchronization: Ability to synchronize or migrate the entire Web server, a Web site or application. Synchronizes only the data that has changed. Ability to detect missing dependencies during synchronization. Automatically gathers content, IIS configuration, SSL certificates and ASP.NET configuration when you sync a Web site. In addition to the IIS Manager and Visual Studio 10, tasks can be performed using the command-line or public APIs.

Upvotes: 2

Related Questions