Принудительное завершение шага развертывания Octopus в случае сбоя сценария PostDeploy Powershell
В одном из моих шагов Octopus Deploy у меня есть скрипт Powershell PostDeploy.ps1
это работает правильно, за исключением того, что, если оно встречает исключение, развертывание продолжается, как если бы оно прошло успешно.
Я видел несколько постов о проблемах кодов выхода powershell, но не могу найти решения для конкретных проблем скриптов PostDeploy.
Как заставить шаг помечаться как неудачный, если PostDeploy обнаруживает ошибку?
2 ответа
Вы должны быть в состоянии потерпеть неудачу с комбинацией $LastExitCode
ненулевой и Exit 1
,
Пара погуглила ссылки:
- http://help.octopusdeploy.com/discussions/problems/7604-deploy-wont-fail-when-powershell-script-fails
- http://help.octopusdeploy.com/discussions/questions/4539-need-to-mark-a-step-as-failed
- http://help.octopusdeploy.com/discussions/problems/18419-octopus-powershell-step-doesnt-display-error
PS Я уверен, что вы знаете, но просто напоминание о том, что выпуск в Octopus делает моментальный снимок версии переменных, скриптов, пакетов и т. Д. Поэтому потребуется создать новый выпуск и / или пакеты.
Образец кода
$exePath=$OctopusParameters["Octopus.Action[mydeploystep].Output.Package.InstallationDirectoryPath"] + "\myapp.exe"
& $exePath
if ($LASTEXITCODE -ne 0)
{
EXIT 1
}