powershell - Azure devops 出现警告失败,“标准错误失败”设置为 true
问题描述
我在 Azure DevOps ci 管道上有一个内联 PowerShell 任务,需要忽略任何警告,但是,任何错误都会使任务失败并停止构建。
我最初将“标准错误失败”设置为 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
推荐阅读
- flutter - ios UIPasteboard 等效于颤动
- wordpress - 在 Woocommerce 中删除产品类别占位符图像
- android - 当数据发生变化时,如何从我的 Firebase 存储中获取数据?安卓
- php - Oracle DB,交易中的库存库存量变化
- xpath - XPath 从多个随机选择一个节点
- python - 为什么 Pygame 只播放最后一个声音?
- spring - 在 Kotlin Spring 中获取 BeanCreationException,我做错了什么?
- python - Python matplotlib 在类内保存大小错误的图
- ruby-on-rails - 更改应用程序的门卫基本模型
- azure-application-insights - Application Insights - 使用散点图可视化分析查询