【发布时间】:2015-03-12 16:08:16
【问题描述】:
警告:每人使用一行!
我在 IIS 6 中使用了这些命令,它们运行良好。
开始:
(get-wmiobject -namespace 'root\MicrosoftIISv2' -computername 'REMOTE_SERVER' -class 'IIsApplicationPool' | where-object {$_.Name -eq 'W3SVC/AppPools/MY_FANCY_APPPOOL'}).InvokeMethod('Stop', $null)"
-和-
停止:
(get-wmiobject -namespace 'root\MicrosoftIISv2' -computername 'REMOTE_SERVER' -class 'IIsApplicationPool' | where-object {$_.Name -eq 'W3SVC/AppPools/MY_FANCY_APPPOOL'}).InvokeMethod('Start', $null)
我正在 IIS 8 中寻找替代方案。我需要几个单行代码,并且它们必须是 Powershell 命令。我通过 TFS 中的 InvokePowerShellCommand 活动调用它们。有没有人可以帮助我?
【问题讨论】:
-
您不应该在构建过程中使用应用程序池。部署与构建是分开的——为此使用发布管理工具。过度扩展构建过程来进行部署通常是非常痛苦和不灵活的。
-
完全同意@DanielMann。 “构建”作业的目标是生成一个成功测试的候选发布工件。
-
让构建执行部署步骤对于 CI 或 CD 构建来说并不少见。虽然我不确定为什么在保存 web.config 文件或更改 bin 文件夹强制回收时需要明确回收应用程序池。
-
如果您正在部署使用 IIS(进程外)托管的 ASP.NET Core 应用程序,您可能需要这样做。应用程序文件在运行时被锁定,因此您需要停止池,进行部署,然后重新启动。
标签: powershell iis tfs iis-8