元ネタはこちら。
Serverless Git LFS for Game Development - Alan Edwardes
Amazon API Gateway + Amazon Lambda + Amazon S3 を使うんだそうです。
準備: AWS のアカウントをとる
AWSのアカウントがなければとります。
作成の流れは 公式のドキュメント でだいじょうぶです。
アカウントをとったら初期設定しておきます。以下のエントリが参考になりました。
AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ - Qiita
サーバ作成手順
AWSコンソールにログインします。
-
以下の魔法のリンクをクリックして、AWS CloudFormation のスタックを作成します。 ← ※欧州 (アイルランド)に作成されます。東京リージョンに作る場合は一番下の追記のリンクを使って下さい
作成できたら「次へ」をクリックします。
スタックに名前をつけます。(これは個々のリソースに名前を付けるためにも使用されます。)
Git LFSエンドポイントの共有ユーザー名とパスワードを設定します。
- 「次へ」をクリックします → オプションの設定ページはスルーで「次へ」をクリックします。
- 「AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。」にチェックして「作成」をクリックします。
- スタックのリストに新しいスタックができて(スタックがなければリロードして下さい)、「CREATE_COMPLETE」と表示されたら成功です。
- スタックの詳細画面に入って、出力を確認すると、Git LFSのエンドポイントのURLが表示されているので、リンクをコピーします。
Git LFS に lfs.url を設定
Git LFS は導入してあることとします。
以下のコマンドで、 .lfsconfig
を作成します。
git config -f .lfsconfig lfs.url <表示されたエンドポイントのURL>
git lfs env
で確認して、Endpoint=
の行が設定したURLになってたらOKです。
.lfsconfig
を commitしてください。
git push
すると、S3の方にLFSオブジェクトがpushされるようになります。
問題点
URL を見ればわかると思いますが、この方法で作成するとリージョンが 欧州 (アイルランド) に作成されます。
東京リージョンにS3を立てたいと思って、 URL の region=eu-west-1
の部分を region=ap-northeast-1
に変えてみましたが、リージョンを変えると成功しないみたいです。
alanedwardes/Estranged.Lfs - Github
どなたか検証お願いします。 m(_ _)m
追記
わかった気がします。
同じリージョン内のでしかオブジェクトが参照できないぽいので、
自分のS3に東京リージョンでバケット作って、 git-lfs.yaml と git-lfs-lambda.zip をコピーしました。
パブリックアクセス許可にしたので、下のURLで誰か試してください。