AWSのCodeBuildでartifactsをS3に保存する際のPathの指定で詰まったのでメモ
仕様
そもそもartifacts生成において以下のような仕様があります
ファイル指定
- hoge.txt
artifacts:
files:
- hoge.txt
この場合、S3に保存した時のartifacts.zip解凍時の形式は以下となります。
├── artifacts
└── hoge.txt
つまり、artifactsの直下にhoge.txtが配置されます。
サブディレクトリ以下ファイル指定
artifacts:
files:
- ${sub_dir_1}/${sub_dir2}/hoge.txt
この場合、S3に保存した時のartifacts.zip解凍時の形式は以下となります。
├── artifacts
└── ${sub_dir_1}
└── ${sub_dir_2}
└── hoge.txt
つまり、サブディレクトリも保存されます。
ここでサブディレクトリは不要な場合が多いのではないでしょうか?
サブディレクトリを捨てる
artifacts:
files:
- ${sub_dir_1}/${sub_dir2}/hoge.txt
discard-paths: yes
discard-paths: yesを指定することで、サブディレクトリを捨てることができます。
├── artifacts
└── hoge.txt
ちなみに、ワイルドカードもいけます。
さらに細かな仕様は公式のドキュメントで確認ください。