Amazon S3をjgitでgitリポジトリとして活用する
ふとした興味からAmazon S3をgitリポジトリにできないかと調べてみたところ、ピュアJavaのgitの実装JGitを使えば可能だということがわかりました。普通はgithub.comとかで事足りると思いますが、「gitリポジトリを信頼できる場所にバックアップしておきたい!」というような場合に利用できるかも知れません。以下の作業で動作は確認していますが、JGit + Amazon S3が本格的に使い物になるのかは未検証です。
JGitのインストール
JGitのCLIをインストールします。JGitはEclipseプラグインのEGitに含まれているので、まずEGitのgitリポジトリからEGitを取ってきます。
git clone git://repo.or.cz/egit.git
egit直下にあるmake_jgit.shを実行してJGitのバイナリを作ります。
cd egit ./make_jgit.sh
動作確認でバージョンを表示させてみます(僕が試した時点のmasterはv0.4.0.129でした)。
./jgit version
jgitでAmazon S3をgitリポジトリとして使う
設定ファイルの作成
ホームディレクトリに適当な名前(.jgit_s3とか)で以下のようにAWSのアクセスキーとシークレットキーを書いたファイルを作ります。もしHTTPで公開しないならaclはpublicではなくprivateにします。
accesskey: AWSAccessKey secretkey: AWSSecretKey acl: public