私はgit、codebuild、elastic beanstalkを使用してCI/CDパイプラインを構築しています。
コードビルドの実行中に、テスト ケースの構文エラーが原因でビルドが失敗すると、コードビルドが次のステージに進み、最終的に成果物が生成されます。
私の理解では、ビルドが失敗した場合は実行が停止するはずです。これは正しい動作ですか?
以下のビルドスペックを参照してください。
version: 0.2
phases:
install:
commands:
- echo Installing package.json..
- npm install
- echo Installing Mocha...
- npm install -g mocha
pre_build:
commands:
- echo Installing source NPM placeholder dependencies...
build:
commands:
- echo Build started on `date`
- echo Compiling the Node.js code
- mocha modules/**/tests/*.js
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- modules/*
- node_modules/*
- package.json
- config/*
- server.js
ベストアンサー1
CodeBuild は終了コードによってビルドの失敗を検出します。テスト実行が失敗した場合にゼロ以外の終了コードを返すことを確認する必要があります。
POST_BUILD
BUILD
実行されている限り常に実行されます(BUILD
の成功または失敗に関係なく) についても同様ですUPLOAD_ARTIFACTS
。これにより、デバッグ情報/アーティファクトを取得できます。
POST_BUILD
の成功または失敗に応じて異なることをしたい場合はBUILD
、組み込み環境変数CODEBUILD_BUILD_SUCCEEDING
1
成功した場合はに設定されBUILD
、0
失敗した場合は に設定されます。