One action in our build process is to call MSDeploy. Unfortunately, MSDeploy always returns exit code 0 regardless of whether the deploy failed or not, so Continua always believes the action succeeded.
What I would like to do is search the MSDeploy action's build log for "Error Count: \d+". If this line exists, it means the deploy failed. If the line is absent, the deploy succeeded. I think this could be implemented with a variable such as $Build.Log$ that represents "the build log at the point this variable is being evaluated". For example, a stage's actions might look like this:
- MSDeploy Action
- If $Build.Log$ matches "Error Count: \d+"
--- Stop build as failure
- Else
--- Continue with build
Another way might be to add a "Success Conditions" tab on every action, and create an $Action.Log$ variable that's available on this screen. This would look similar to the Stage Gate settings, it would be a list of left and right values that must evaluate to true in order for the action to considered a success. For example, in this situation I would add this:
Left Value Operator Right Value
$Action.Log$ does not match Error Count: \d+
Thank you for your consideration.