如何使 Bitbucket Pipelines 中运行的脚本失败?

Chr*_*ris 4 bitbucket bitbucket-pipelines

当管道运行一系列节点命令时,如何在管道内触发失败?

我已经尝试过以下方法:

const failBuild = function(message) {
  console.error('Deploy failed: ', message)
  throw new Error('Deploy failed')
}
Run Code Online (Sandbox Code Playgroud)

我看到“部署失败”消息,但管道仍然显示“成功”。

Blu*_*ueM 5

当命令以非零退出代码退出时,Bb 管道会失败。所以,如果你想让管道失败,你必须确保代码不为0。

\n\n

在你的情况下(稍后阅读本文的人请注意:请参阅评论),你得到 0 作为退出状态,因为它throw是在承诺中执行的,但随后在承诺 \xe2\x80\x99scatch()函数 \xe2\x80\x93中捕获既不停止执行也不对退出代码产生任何影响。

\n\n

解决方案:在函数throw中明确指出错误catch()

\n

  • 你能写一个例子吗? (2认同)