Принудительное завершение шага развертывания Octopus в случае сбоя сценария PostDeploy Powershell

В одном из моих шагов Octopus Deploy у меня есть скрипт Powershell PostDeploy.ps1 это работает правильно, за исключением того, что, если оно встречает исключение, развертывание продолжается, как если бы оно прошло успешно.

Я видел несколько постов о проблемах кодов выхода powershell, но не могу найти решения для конкретных проблем скриптов PostDeploy.

Как заставить шаг помечаться как неудачный, если PostDeploy обнаруживает ошибку?

2 ответа

Решение

Вы должны быть в состоянии потерпеть неудачу с комбинацией $LastExitCode ненулевой и Exit 1,

Пара погуглила ссылки:

PS Я уверен, что вы знаете, но просто напоминание о том, что выпуск в Octopus делает моментальный снимок версии переменных, скриптов, пакетов и т. Д. Поэтому потребуется создать новый выпуск и / или пакеты.

Образец кода

$exePath=$OctopusParameters["Octopus.Action[mydeploystep].Output.Package.InstallationDirectoryPath"] + "\myapp.exe"
& $exePath
if ($LASTEXITCODE -ne 0)
{
    EXIT 1
}
Другие вопросы по тегам