我们有一个MVC应用程序,并且正在使用Jenkin和Octopus进行部署。我们已经使用八达通进行了部署。有一个步骤可以通过章鱼重新启动IIS。部署后,我们需要检查IIS是否已由Octoups重新启动。有什么日志或技术可以用来检查吗?
答案 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的信息。
下面的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"
}