需要通过 VPN 将2个项目部署到多个环境。 随着时间的推移,将需要其他环境。
使用 CCNet 进行构建自动化。
网络应用程序:
Windows服务:
总的来说,它看起来并不那么糟糕,但考虑到需要为很多环境设置它很快就会成为一个问题。
同时创建网络共享,禁用UAC,IIS远程管理服务可能会被视为安全问题。
寻找部署Web应用程序以及配置要求较少的Windows服务的方法。
而不是Web部署包。
会删除Web Deploy依赖项,但不确定它是否可以通过VPN工作,并且看不到指定用户名/密码的方法。
安装/卸载服务。
将删除MSBuild Extension Pack和Robo Copy依赖项。
这似乎适用于域计算机,但也不确定VPN连接,在这种情况下UAC似乎也是一个问题。
使用powershell管理安装服务: http://www.geoffhudik.com/tech/2012/3/22/install-a-windows-service-remotely-with-powershell.html
一种方法。在Windows 7上使用MapNetworkDrive
创建驱动器共享时出现问题,因此我必须使用net use
执行此操作
仍在考虑替代方案。
答案 0 :(得分:1)
对于复制文件,您可以使用UNC共享来获得结果。这将满足减少在服务器中安装工具的要求的愿望,假设UNC是一种选择。
其他选项可以:
至于安装/更新Windows服务,您很可能需要某种托管服务来协调与Windows的关联。
其他选项可以:
这些只是选项,而不是建议,我个人认为WebDeploy本身就足够了。安装WebDeploy的痛苦远远超过它提供的安全性和安全性。就个人而言,我不希望任何UNC访问我的服务器或从我的服务器访问(安全网络与否),所以我不推荐这个选项。
一种可能的解决方案可能是:
只需在服务器和ccnet服务器上安装WebDeploy,就可以实现这一切。
不需要IIS远程管理,文件共享和msbuild(及其包),从而减少了一些配置。 WebDeploy的安装和配置可以自动化:http://www.iis.net/learn/publish/using-web-deploy/powershell-scripts-for-automating-web-deploy-setup