为什么我的VSTS自定义任务通过退出代码1传递?

时间:2018-09-11 11:27:16

标签: tfs azure-devops azure-pipelines-build-task azure-pipelines-release-task

我有以下烦人的问题。我的自定义VSTS构建任务不会失败。 它总是通过,而$ LASTEXITCODE则不是零。

代码按预期执行。它在日志中生成错误。尽管如此,该步骤仍然成功,并且构建/发布仍在继续。

截屏: screenshot 我还包括了一个带有退出代码的写主机,该主机还显示了退出代码1。

代码:

@media screen and (max-width: 900px) {
    .Header {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column wrap;
        flex-flow: column wrap
    }

    .Header__Logo {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0
    }
}

@media screen and (max-width: 595px) {
    .Header {
        -webkit-box-pack:stretch;
        -ms-flex-pack: stretch;
        justify-content: stretch
    }

我在这里想念什么?

2 个答案:

答案 0 :(得分:2)

我通过删除最后一部分来解决它。

不起作用:

try {
    .... do stuff ....
} catch {
   write-error "some error"
   exit 1
} Finally {
  .. some final steps ...
}

工作:

try {
    .... do stuff ....
} catch {
   write-error "some error"
   exit 1
} 

答案 1 :(得分:0)

对于到达这里的人来说,BAT / CMD文件也有同样的问题,我的解决方案是添加以下行:

exit /b %ERRORLEVEL%

强制将错误级别传输到VSTS / TFS命令行任务