У нас просто была ситуация, когда кто-то выполнил развертывание в неправильной системе в неподходящее время, но никто не знает, кто это сделал и когда.
Я просмотрел журналы событий Windows на целевом веб-сервере и не увидел ничего, что, похоже, было от MSDEPLOY. Есть какой-то журнал? Даже журнал, в котором просто написано, что «синхронизация была выполнена в время по пользователь"?
Если журнала нет, могу ли я что-нибудь сделать, чтобы внести какую-либо запись в журнал? Например, есть ли провайдер для записи записей журнала событий или тот, который я могу использовать для записи в файл? Полагаю, я мог бы запустить сценарий, который будет вести журнал в какой-то форме, но можно ли включить этот сценарий в пакет?
Извините за все вопросы, но сегодня это стало горячей темой!
Обратите внимание, что мне нужен журнал на целевом веб-сервере. Либо файл журнала, либо запись журнала событий, но что-то для целей аудита, в котором говорится: «Джон что-то развернул в какое-то время».
Всегда есть много слов
Подробный Указывает, что уровень детализации информации будет включен в выходные данные операции. По умолчанию включены уровни детализации Предупреждение, Ошибка и Неустранимая ошибка. Уровень детализации информации возвращает все сообщения, срабатывающие во время операции.
Я не уверен, но -debug также влияет на вывод
Примечание. В сборках TFS с использованием расширений PowerShell я сохранял вывод, используя этот шаблон:
iex "msdeploy ..." | Out-String | %{ $log.LogMessage($_)}
Я изучал это некоторое время назад и, насколько мне известно, MSDEPLOY ничего не регистрирует на стороне клиента. Все, что вы можете сделать, это перенаправить его вывод в файл -
msdeploy.exe -verb:sync ... > logfile.log
Что, конечно, бесполезно, если кто-то запускает это вручную вне автоматизированного инструмента сборки и развертывания.
Вы можете регистрировать активность MSDEPLOY на целевом сервере (если вы развертываете с помощью службы Web Deploy), но это, вероятно, не очень удобно, если у вас нет полного доступа RDP для доступа к журналам.
Я предполагаю, что MS рассматривает MSDEPLOY как обычный инструмент примерно так же, как компилятор C # ничего не регистрирует каждый раз, когда вы компилируете исходный код.