AWS CodePipeline で S3 バケットにデプロイする index.html ファイル等の zip ファイルへの変換を防ぐ方法
困っていた内容
CodePipeline で index.html ファイルを CodeCommit にプッシュを行い、CodeDeploy で指定した S3 バケット(静的 Web サイト)にデプロイを行うように設定をしていますが、デプロイをした index.html が zipファイル になってしまいます。
zip ファイルのままだと、S3 の静的 Web サイトにて、Web サイトが正しく表示されません。
デプロイをした index.html が zipファイル にならないために、どのように対応すれば良いのか教えて下さい。
どう対応すればいいの?
CodePipeline の作成において、「デプロイステージを追加する」の"デプロイする前にファイルを抽出する"について、チェック(選択)がされているかご確認ください。
Codepipeline が実行されている際、パイプラインの AWS CodeCommit のアクションが、ソースアーティファクトを圧縮しておりその結果、ファイルが ZIP ファイルに変換されます。
そのため、S3 バケットにデプロイする前に、デプロイ対象ファイルが解凍されてからデプロイされるように"デプロイする前にファイルを抽出する"のチェック(選択)を行ってください。
参考資料
注記
[デプロイ前にファイルを抽出] を選択しないと、デプロイに失敗します。
これは、パイプラインの AWS CodeCommit アクションがソースアーティファクトを圧縮しており、ファイルが ZIP ファイルになっているためです。