はじめに
- とあるデータファイルをs3へ自動でアップロードしたい要件がありました。
- githubでファイルを管理してwerckerと連携してgit pushすると自動でs3へファイルアップロードするようにしたので、その備忘録です。
手順
- Werckerに公開されているstep-s3syncを利用します。
- 利用方法はREADMEに記載されているとおりですが、以下のようになります。
deploy:
steps:
- s3sync:
key-id: $AWS_KEY
key-secret: $AWS_SECRET
bucket-url: $BUCKET_URL
source-dir: $SOURCE_DIR
opts: --acl-private
- wercker.ymlに上記の設定を追加してworkflowsを設定してあげれば
git push
で自動的にs3へファイルがアップロードされます - アップロードする対象のファイルに日本語が含まれていると上記の設定だけだとうまく動作しません
- 以下のようにoptsに
--encoding=utf-8
を指定してあげることで動作します
- 以下のようにoptsに
deploy:
steps:
- s3sync:
key-id: $AWS_KEY
key-secret: $AWS_SECRET
bucket-url: $BUCKET_URL
source-dir: $SOURCE_DIR
opts: --acl-private --encoding=utf-8
参考
- こちらを参考にさせて頂きました