2017-09-04 10 views
0

パイプラインで一連のコマンドを実行すると、パイプライン内でどのように障害を引き起こすことができますか?私は次のことを試してみましたBitbucket Pipelineで実行されているスクリプトの実行を中断するにはどうすればよいですか?

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

私が見るメッセージを「展開に失敗しました」が、パイプラインは、まだ「成功」と言います。

+0

どのようにノードスクリプトを呼び出すのですか? – BlueM

+0

デプロイスクリプトはノード – Chris

+0

Hmによって実行されました。コマンドが非ゼロの終了コードで終了したときにBbパイプラインが失敗し、何かがスクリプトを呼び出して終了コードを無視したと思われたため、私は尋ねました。コードなしでは、それがあなたのケースで問題であるかどうかを知ることは難しいですが、私は終了コードを調べることをお勧めしますし、上記のスクリプトの終了コードがスクリプトを呼び出すコードでどのように処理されるのか、 – BlueM

答えて

1

Bbパイプラインは、コマンドがゼロ以外の終了コードで終了すると失敗します。したがって、パイプラインが失敗するようにするには、コードが0でないことを確認する必要があります。

throwが原因で終了ステータスとして0が返される場合があります約束どおりに実行されますが、約束のcatch()機能にキャッチされます。実行を停止することも、終了コードに影響を与えることもありません。

解決策:明示的にthrowcatch()機能でエラーが発生しました。

関連する問題