DOPSDLC の自動化

CodeCommitリポジトリへのプッシュ時に自動的にユニットテストを実行し、テスト失敗時はマージをブロックするCI/CDの実装方法として正しいものはどれですか?

A
CodePipelineとCodeBuildで自動テストを実行し、PRマージに承認ルールを設定する
✓ 正解
CodeCommitのプッシュ/PRイベントをトリガーにCodePipelineを起動し、CodeBuildでユニットテストを実行します。テストが失敗するとCodeBuildはexitコード1を返し、パイプラインが失敗します。CodeCommitのプルリクエスト承認ルールと組み合わせることで、テスト通過前のマージをブロックできます。
B
Lambda関数でプッシュイベントを監視して手動テストをトリガーする
Lambda関数で手動テストをトリガーする方式は自動テストの要件を満たさず、CodeCommitのマージブロック機能とも連携できません。
C
CloudWatchアラームでコードの変更を検知してテストを実行する
CloudWatchアラームはメトリクス・ログを監視するサービスであり、CodeCommitへのコードプッシュを直接検知する機能を持ちません。
D
EventBridgeルールでプッシュイベントを検知しSNSで開発者へ通知して手動テスト後に承認する
EventBridge+SNSで開発者へ通知して手動テストを行う方式は人手の介在が必要であり、自動テスト実行と自動マージブロックの要件を満たしません。

解説

CodeCommitのプッシュ/PRイベントをトリガーにCodePipelineを起動し、CodeBuildでユニットテストを実行します。テストが失敗するとCodeBuildはexitコード1を返し、パイプラインが失敗します。CodeCommitのプルリクエスト承認ルールと組み合わせることで、テスト通過前のマージをブロックできます。 選択肢BのLambda関数で手動テストをトリガーする方式は自動テストの要件を満たさず、CodeCommitのマージブロック機能とも連携できません。 選択肢CのCloudWatchアラームはメトリクス・ログを監視するサービスであり、CodeCommitへのコードプッシュを直接検知する機能を持ちません。 選択肢DのEventBridge+SNSで開発者へ通知して手動テストを行う方式は人手の介在が必要であり、自動テスト実行と自動マージブロックの要件を満たしません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DOP の問題一覧に戻る