Skip to content
Latchkey

終了ステータスの伝播 - CI/CD用語集の定義

終了ステータスの伝播は、失敗したコマンドの非ゼロ終了コードがCIに届き、ステップが実際に失敗するようにします。

終了ステータスの伝播とは、失敗したコマンドの非ゼロ終了コードがCIに届き、ステップとjobが失敗するようにすることです。pipeやバックグラウンドのサブシェルは失敗を飲み込み、壊れたbuildをグリーンに見せることがあります。

マスクされた終了コードによる静かな失敗は、偽のグリーンbuildの古典的な原因です。正しい伝播はそれを防ぎます。

マスキングへの対策

CIのshellは set -e としばしば set -o pipefail で実行されるため、a | tee log のようなpipe内の失敗でもステップが失敗します。pipefail がないと、最後のコマンドの終了コードのみが数えられます。

関連ガイド