【问题标题】:What are the ways in which one can communicate error to the azure pipeline via powershell?可以通过哪些方式通过 powershell 将错误传达给 azure 管道?
【发布时间】:2020-02-26 16:06:27
【问题描述】:

假设我正在使用 Powershell 脚本任务来执行一些复杂的事情,我想让 azure 管道知道错误。

我知道使用 exit(0) 是成功的,任何非零退出都是失败,这将导致 azure 管道任务失败(除非启用了错误时继续)。

第二种方法是使用与上述相同的写入错误。

第三种方法是使用 write-error 通过 powershell 将输出发送到 stderr,然后在 azure 管道任务上将“标准错误失败”设置为 true(复选标记)。这种方法可以单独使用,也可以与上述两种方法一起使用。

还有其他我想念的方法吗?

【问题讨论】:

  • 这个案子进展如何?有什么好消息吗?

标签: azure-devops azure-pipelines azure-pipelines-tasks


【解决方案1】:

如果您使用Write-Error,即使未选中标准错误失败,任务也会失败。

另一种选择是使用logging commandtask.logissue:

##vso[task.logissue type=error;sourcepath=consoleapp/main.cs;linenumber=1;columnnumber=1;code=100;]this is an error

结果:

【讨论】:

  • 是不是表示这个不正确:stackoverflow.com/a/58621359/1779091(它说:这意味着任何向主机写入错误的命令都会导致任务失败。例如:Write-Error "I will cause任务失败。”)
  • 对,你可以轻松查看:)
  • 我已更新我的问题以包括更正(写入错误)。请问你能告诉我powershell任务中“标准错误失败”的用例到底是什么?当我们向标准错误输出写入错误而不只是写入错误时,它有用吗?
  • @variable 我没有仔细检查:/
猜你喜欢
  • 2021-11-27
  • 2020-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多