如何通过八达通检查IIS是否重置

时间:2019-07-03 09:23:05

标签: iis octopus-deploy octopus

我们有一个MVC应用程序,并且正在使用Jenkin和Octopus进行部署。我们已经使用八达通进行了部署。有一个步骤可以通过章鱼重新启动IIS。部署后,我们需要检查IIS是否已由Octoups重新启动。有什么日志或技术可以用来检查吗?

2 个答案:

答案 0 :(得分:0)

您可以在章鱼中添加Poewrshell script作为步骤,并在Write-Host cmdlet之前和之后使用Restart-WebAppPool添加/写入一些日志语句。

以下是您可以添加try catch的示例代码

Write-Host "$(Get-Date -format "dd-MM-yyyy HH:mm:ss:ff") : Restarting Default App pool"
Restart-WebAppPool -Name "Default"
Write-Host "$(Get-Date -format "dd-MM-yyyy HH:mm:ss:ff") : Default App pool restarted"

输出类似于:

04-07-2019 10:14:28:15 : Restarting Default App pool
04-07-2019 10:14:28:16 : Default App pool restarted

注意:您必须使用Octopus变量在运行时(动态)设置AppPool名称

答案 1 :(得分:0)

有几个选项,例如将iis重置的状态捕获到Octopus Deploy中的变量中。或从事件日志开始获取有关上一个IIS的信息。enter image description here

下面的PS脚本应该为您提供从事件日志中获取脚本的可能解决方案:

$Events = Get-EventLog -LogName System -Source IISCTLS -Newest 1 -Message '*start command received*'
$DateTimeNow = Get-Date
if ($DateTimeNow.AddMinutes(-5) -lt  $Events.TimeGenerated){
    "happened less than 5 min ago"
}
else {
    "happened long ago"
}