Как проверить сброс IIS или нет Octopus

У нас есть приложение MVC, и мы используем Jenkin и Octopus для развертывания. Мы использовали Octopus для развертывания. Есть шаг по перезапуску IIS через осьминога. Нам нужно проверить, был ли IIS перезапущен Octoups или нет после развертывания. Есть ли какой-либо журнал или метод, с помощью которого я могу это проверить.


person Pankaj Saha    schedule 03.07.2019    source источник
comment
вы можете проверить средство просмотра событий. Как и для других служб Windows, оно также отслеживает перезапуск службы в системном журнале машины.   -  person Jalpa Panchal    schedule 04.07.2019


Ответы (2)


Вы можете добавить Poewrshell script в качестве шага в octopus и добавить/записать некоторые операторы журнала, используя Write-Host до и после командлета 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 во время выполнения (динамическое)

person Nirav Mistry    schedule 04.07.2019

Есть пара вариантов, например запись в переменную в Octopus Deploy состояния сброса iis. Или получить информацию о последнем запуске 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"
}
person Alex M    schedule 04.07.2019