В нашем скрипте psake перед компиляцией мы запускаем файлы сборки check-out. когда задача компиляции будет успешно выполнена, сборки будут скопированы, а затем задача регистрации зафиксирует сборки.
Проблема с этим подходом заключается в том, что если этап компиляции остановлен, файлы будут сохранены для проверки.
Если задача компиляции не удалась, я хотел бы запустить другую задачу, чтобы отменить проверку файлов.
task CheckOutFiles -description "Checkout the files" `
-precondition { $OutputFiles -ne $null } `
-action {
foreach( $file in $OutputFiles ) {
exec { Checkout-File -FilePath $file }
}
}
task Compile `
-depends Clean `
-description "Compile the code" `
-requiredVariables solutionFile, buildConfiguration `
{
Write-Host "Building solution $solutionFile" | Out-Null
Assert ( Test-Path $solutionFile ) "SolutionFile $SolutionFile is not found "
Exec { msbuild $SolutionFile "/t:build" "/p:Configuration=$buildConfiguration" }
}
task UndoCheckOutFiles -description "UndoCheckout the files" `
-precondition { $OutputFiles -ne $null } `
-action {
foreach( $file in $OutputFiles ) {
exec { UndoCheckout-File -FilePath $file }
}
}
В задаче компиляции есть ли способ, чтобы в случае неудачи я мог запустить задачу UndoCheckoutFiles?