2013-01-18 21 views
1

我正在为Web应用程序的自动部署过程。部署将需要:部署不在域 - psexec.exe或PowerShell远程处理

  • 部署DB使用数据库更改sqlpackage.exe
  • 部署报告使用Web服务
  • 部署Web应用程序到Web服务器(或多个)
  • 服务报告,报告服务器
  • 部署字体报表
  • 除其他事项外

前两个是比较直接从网络运行SERV呃,因为Web服务和数据库是可联系的,并且部署的工具可以在网络上运行。

从阅读中看来,PowerShell远程应该是要走的路,在内部这不会是一个问题。然而,当部署到生产时,这将在数据中心内进行,其中机器(2web,1db)根本不在域上。我想提出一个通用的流程,可以通过适当的配置在内部和外部运行。 Powershell远程处理,不在域中的机器似乎需要使用https等进行适当的配置,因为NT凭据无法验证。

我应该争取配置PowerShell远程配置,还是将其配置为仅使用psexec直接在远程机器上执行powershell脚本,将部署工件复制到远程机器上的drop文件夹是否是最佳方式?

psexec似乎“只是工作”。看来powershell remoting带来了更多的痛苦。

回答

0

为什么不使用psexec呢?你可以限制它的作用,让你进入远程机器,而不是让它感染你的脚本。我没有试图让ps远程处理非域名,但总的来说,我发现这是相当高的努力去。正如你所说,Psexec通常可以更简单。

对不起,不过我帮助建立的开源框架叫做PowerUp,基本上都是为你做的。它使用了一个模型,其中powershell(well psake)脚本可以通过调用特定函数将执行移动到另一台机器上。这可以通过powershell remoting或psexec来完成 - 您不需要更改脚本,只需要根据每个环境设置一个设置来说明您希望使用哪一个。

检查其他样品在https://github.com/AffinityID/PowerUpSamples/tree/master/SimpleWebsite

希望能够给你足够的展示,但如果不让我知道,我们可以进入更多细节。