Here’s how I set up a Continuous Integration server using IIS7 and Web Deploy 2.0 for deploying an application remotely. Our technology stack is Asp.net MVC4, jQuery, knockout, Entity Framework 4.1 code first, and Oracle. On your IIS server do the following:

- Create new folders C:\[YourAppName] and C:\logs\[YourAppName] (for logging)
- Create local Windows User “MyUser” and grant him full control on directory C:\[YourAppName]
- Add “Management Service” Role Service (Right click Add role on Web server (IIS) in server manager)
- Add all “Common HTTP Features”
- Add all Application Development Features EXCEPT “CGI” and “Server Side Includes”

- Add Basic, Windows and Digest Authentication below Security
- Add all Management Tools Features
- Install Web Deploy 2.0 (WebDeploy_2_10_amd64_en-US.msi – Use Custom installation – select all by hand, complete has not all features enabled). Link:

http://www.microsoft.com/en-us/download/details.aspx?id=25230

- Create new website in IIS with name [YourAppName] and physical path C:\[YourAppName] – delete default website
- Configure the Default Web Site’s Web-Deployment permission list
- Right click Website and choose Deploy – Configure Web Deploy Publishing (in case that Deploy is not visible you need a server restart)
- Select local “MyUser” user
- Copy URL for the publishing server connection for later use
- Set .NET Framework version on the newly created Application Pool [YourAppName] to v4.0 (in Web Site Advance Settings) and Classic mode
- Restart server
- In the IIS Management on IIS level in “Management service delegation” add two new rules (Template “Deploy applications with Content”)
- Provider: contentPath, iisApp; Path: C:\[YourAppName]; Identity Type: Current user
- Provider: setAcl; Path: C:\[YourAppName]; Identity Type: Current user
- Enable Windows Authentication in the [YourAppName] Authentication Settings.
- Activate Remote Access in “Management Service” in IIS Management Console (IIS level)
- Active .NET 64 Bit in IIS => c:/windows/microsoft.net/.net 4.x/aspnet_regiis –i
- Allow ISAPI/CGI use for the .NET framework in IIs (ISAPI & CGI restrictions)
- Set the Web Management Service to “auto” in the Services management console
- Create c:/logs/[YourAppName] directory and give write permission to IIS account

About these ads