程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Azure devops 出现警告失败,“标准错误失败”设置为 true大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Azure devops 出现警告失败,“标准错误失败”设置为 true?

开发过程中遇到Azure devops 出现警告失败,“标准错误失败”设置为 true的问题如何解决?下面主要结合日常开发的经验,给出你关于Azure devops 出现警告失败,“标准错误失败”设置为 true的解决方法建议,希望对你解决Azure devops 出现警告失败,“标准错误失败”设置为 true有所启发或帮助;

我在 Azure DevOps ci 管道上有一个内联 PowerSHell 任务,需要忽略任何警告,但是,任何错误都会使任务失败并停止构建。

我最初将 'fail on standard error' 设置为 true,但因为所有错误和警告都写入 stderr,所以任何警告都会失败。

下面我尝试将“标准错误失败”设置为 false。然注意到错误并没有使任务失败。

sfdx partial:lsapp:build
if ($exitCode -ne 0)
{    
Write-Output (\"[Error] Failing task since return code was {0} while expected 0.\" -f $exitCodE)
}
[Environment]::Exit($exitCodE)

任何帮助将不胜感激。

解决方法

似乎 SALEsforce cli 将警告写入 stderr。在这种情况下,您无法在执行 SALEsforce 命令的内联 PowerSHell 任务中分离警告和错误。

但如果您想根据退出代码使管道失败,您仍然可以使用一种解决方法:将退出代码保存在管道变量中,并在具有 failOnStderr: true 的单独任务中对其进行评估,并在需要时失败:

steps:
- task: PowerSHell@2
  inputs:
    targetType: 'inline'
    script: |
      #sfdx partial:lsapp:build
      $exitCode = 1    # SetTing this for tesTing
      Write-Host "##vso[task.setvariable variable=sfdxExitCode;]$exitCode"

- task: PowerSHell@2
  inputs:
    targetType: 'inline'
    script: |
      $exitCode = $(sfdxExitCodE)
      if ($exitCode -ne 0)
      {    
          Write-Error ("Failing task since return code was {0} while expected 0." -f $exitCodE)
      }
    failOnStderr: true
,

根据您的情况,您可以更改 Azure DevOps 管道,使其在发生错误时不会停止 - 这是“出错时继续”标志,可以在 YAML Azure DevOps 管道中按如下方式设置:

- task: "Test@1"
  conTinueOnError: true

对于经典管道,您可以选中“出错时继续”复选框。

有关详细信息,您可以阅读此 Azure DevOps 文档页面: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/tasks?view=azure-devops&tabs=yaml

大佬总结

以上是大佬教程为你收集整理的Azure devops 出现警告失败,“标准错误失败”设置为 true全部内容,希望文章能够帮你解决Azure devops 出现警告失败,“标准错误失败”设置为 true所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。