You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在满足条件时使Azure DevOps流水线作业失败?

解决Azure DevOps中LambdaInvokeFunction任务出错后触发作业失败的问题

你可以通过新增一个强制检查Lambda调用结果的步骤来实现需求,具体修改如下:

- task: LambdaInvokeFunction@1
  inputs:
    awsCredentials: $(AWS_CREDENTIALS)
    regionName: $(AWS_REGION)
    functionName: $(AWS_LAMBDA_NAME)
    payload: $(AWS_LAMBDA_PAYLOAD)
    outputVariable: "LambdaOutput"

# 新增:检查Lambda调用结果,存在错误则直接标记作业失败
- script: |
    if echo "$LambdaOutput" | grep -q "error"; then
      echo "##vso[task.logissue type=error]Lambda调用返回错误,终止作业"
      echo "##vso[task.complete result=Failed;]"
    fi
  displayName: 检查Lambda调用结果
  condition: always()

- script: |
    echo "I should run only if Lambda invokation had no error. In case of error, job must fail."
  condition: not(contains(variables['LambdaOutput'], 'error'))

关键说明:

  1. 新增的脚本步骤使用condition: always(),确保无论前序任务是成功、失败还是跳过,这个检查步骤都会执行
  2. 通过grep -q "error"检测输出变量中是否包含错误关键字,匹配到后执行两个Azure DevOps命令:
    • ##vso[task.logissue type=error]:在流水线日志中记录一条错误信息
    • ##vso[task.complete result=Failed;]:直接将当前作业标记为失败状态
  3. 原有的业务脚本步骤保留原有条件,仅在Lambda调用无错误时执行,错误场景下会被跳过且作业已被标记失败

内容的提问来源于stack exchange,提问作者Mit94

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:42:13