The 2 projects need to be deployed to multiple environments, over VPN. Additional environments will be required over time.
Current deployment strategy:
Using CCNet for build automation.
Web Application:
- Web deployment packages
- MSBuild
- Web Deploy
Windows Service:
- MsBuild
- RoboCopy + Net Share
- MSBuild Extension Pack to (un)install start/stop service
Problems with the current strategy:
- Web Deploy needs to be installed on all targeted web servers.
- IIS Configuration: (remote management service, users, delegation rules)
- Net share required for service file copy and install
- MSBuild Extension Pack Dependency
- UAC disabled for service install
Overall it does not seem that bad but considering this needs to be set up for a lot of environemnts it quickly becomes a problem.
Also creating the net share, disabling the UAC, IIS remote management service might be considered security issues.
Looking for a way to deploy the web application and also the windows service with less configuration requirements.
Alternatives?
CCNET buildpublisher
Instead of Web deployment packages.
Would remove Web Deploy dependency but not sure it works over VPN and do not see a way to specify a username/password.
sc.exe
To install/uninstall services.
Would remove MSBuild Extension Pack and Robo Copy dependency.
This seems to be working on domain computers but also not sure about VPN connections and UAC seems to be a problem in this case also.
Powershell?
Update:
Managed to install the service using powershell: http://www.geoffhudik.com/tech/2012/3/22/install-a-windows-service-remotely-with-powershell.html
One way of doing it. Had an issue when creating the drive share using MapNetworkDrive
on Windows 7, so I had to do this with net use
Still considering alternatives.