こんにちは。
アプリケーションサービス部、DevOps担当の兼安です 。
今回はAWS CodePipelineのちょっとしたテクニックをお話します。
本記事のターゲット
本記事は、AWS CodePipelineを構築中または構築して運用している方をターゲットとしています。
したがって、AWS CodePipelineの基本的な使い方や、AWS CodePipelineの構成要素については割愛しています。
ご了承ください。
AWS CodePipelineのアーティファクト
AWS CodePipelineにおいて、各ステージにおける入出力は「アーティファクト」と呼ばれます。
アーティファクトはAmazon S3に保存され、ステージ間で受け渡しされます。

ソースステージでは、Gitリポジトリからのソースコードが出力(=出力アーティファクト)です。
ビルドステージでは、ソースステージから受け取ったアーティファクトを入力(=入力アーティファクト)とします。
ビルドしたらその結果が出力となります。
そして、デプロイステージではビルドステージの出力を入力アーティファクトとして、デプロイを行います。
CodePipelineでエラーが起きた場合、途中段階のファイルを見た方が解決が早いことがあります。
例えば、CodeBuildでbuildspec.ymlがnot foundのエラーが出た場合、ビルドステージの入力アーティファクトを見ることで、ビルドステージにどんなファイルが渡されているかを確認できます。
アーティファクトの確認と差し替え
では、実際にやってみましょう。
まず、ビルドステージでエラーが発生したとします。
CodePipelineのパイプライン画面で、BuildActions
をクリックします。

入力
の入力アーティファクト
をクリックします。

S3バケットの画面に遷移します。
ランダム文字列っぽい名前のファイル名が見つかるはずです。

これがアーティファクトです。
アーティファクトはZip圧縮されたファイルです。
これをダウンロードして解凍することで、ビルドステージにどんなファイルが渡っているのか確認することができます。
この動きは、デプロイステージでも同様です。
アーティファクトはZip圧縮されただけのファイル群なので、解凍・修正して再圧縮して同じ名前でS3上のファイルを上書きすることで、入力アーティファクトの差し替えが可能です。
アーティファクトを開いたら、そのバケットに移動し、同じファイル名でアップロードすれば上書きすることができます。

差し替えを行った後、CodePipelineのパイプライン画面でステージにある更新アイコンをクリックすることで、差し替えた入力アーティファクトで再実行をかけることができます。

このやり方は、次のような時に役立ちます。
例えばあなたがCI/CD担当だとしてアプリケーション担当が別の担当者だったとします。
buildspec.ymlやappspec.ymlに記述ミスがあった場合、アーティファクトの確認と差し替えを活用してエラーの原因と修正方法を自分で確認してからアプリケーション担当者に「こう直したら治ります」と伝えることができます。
まとめ
今回は、AWS CodePipelineの途中のアーティファクトを確認・差し替える方法についてお話しました。
CodePipelineをはじめとしたCI/CDパイプラインは作り込めば作り込むほど、原因が特定が難しくなります。
アーティファクトの確認と差し替えは、CodePipelineのトラブルシューティングに役立つと思います。
兼安 聡(執筆記事の一覧)
アプリケーションサービス部 DS3課所属
2025 Japan AWS Top Engineers (AI/ML Data Engineer)
2025 Japan AWS All Certifications Engineers
2025 AWS Community Builders
Certified ScrumMaster
PMP
広島在住です。今日も明日も修行中です。