わしの考えたアセット管理

全員がGitを扱えればそれで済むが誰もがコマンドラインでコミットしてプルリクを発行できるわけではない.

なのでアセットをアプリケーションのリポジトリに入れて管理しようとするとどうしてもGitを使える人を経由してアセットを更新しないといけない.

これはとても面倒だ ということでなんとかならんかと考えた末に思いついた管理方法のメモ

そもそものきっかけ

  • アセットの管理面倒であるな
  • S3のGUI使いづらすぎ!
  • Gitで管理したい
  • アプリケーションリポジトリに入れて管理するの無理があるのでは
  • 結局S3に上げるのでそっちに展開するのならわかりやすいのが良い
  • アセットを更新されたら自動でS3にアップロードさせたい

上記目的を満たすのが以下の構成になる

f:id:spin13131:20180217011753p:plain

結局Gitを使っているがsourcetreeならたぶんドライブ感覚で使えて楽なはず・・・

フロー

  1. CodeCommit(GitHubでも可)にアセットが追加または更新されてPushする
  2. CodePipelineがCodeCommitへのPushをトリガに発火
  3. CodeBuildがCodeCommitの最新の状態でビルドする
  4. CodeBuildでS3のバケットにsyncする

CloudFormationのコードが後々追加予定