我正在为Web应用程序开发自动部署过程。部署需要:
前两个从Web服务器运行相当简单,因为Web服务和数据库是可联系的,部署工具可以通过网络运行。
从阅读中可以看出,PowerShell远程处理应该是可行的方式,而在内部这不会是一个问题。但是,在部署到生产时,这将在数据中心中执行,其中机器(2web,1db)根本不在域上。我想提出一个通用的流程,可以通过适当的配置在内部和外部运行。 Powershell远程处理,不在域中的计算机似乎需要使用https等进行相当多的配置,因为NT凭证无法验证。
我是否应该配置PowerShell远程处理,或者将其配置为仅使用psexec直接在远程机器上执行powershell脚本,将部署工件复制到远程计算机上的drop文件夹是最好的方法吗? / p> psexec似乎“正常工作”。看起来PowerShell遥控带来了更多的痛苦。
答案 0 :(得分:0)
为什么不使用psexec呢?您可以限制它的角色,只是让您进入远程计算机,而不是让它感染您的脚本。我没有试图让ps远程工作在非域上工作,但一般来说我发现它是相当高的努力才能开始。正如你所说,Psexec通常可以更简单。
请原谅,但是我帮助构建的开源框架PowerUp基本上为你做了这一切。它使用一个模型,其中powershell(well psake)脚本可以通过调用特定函数将执行移动到另一台机器。这可以通过powershell远程处理或psexec来完成 - 您不需要更改脚本,只需要为每个环境设置一个设置来说明您要使用的内容。
在https://github.com/AffinityID/PowerUpSamples/tree/master/SimpleWebsite检查其他样本。
希望这足以告诉你,但如果不让我知道,我们可以详细介绍。