誰もこれを行う方法を知っていますか?これまでのところ、Googleを介して有用なものを見つけることができていません。
ローカルリポジトリをセットアップし、git Push
を使用してそれをS3に公開したいと考えています。これは、S3のアセットではなくリモートストレージをローカルバージョンで制御するという考え方です。
これはできますか?
1http://blog.spearce.org/2008/07/using-jgit-to-publish-on-経由でJGitを使用しますAmazon-s3.html
Jgit.shをダウンロードし、名前をjgitに変更して、パス($ HOME/binなど)に入れます。
.jgit構成ファイルをセットアップし、次を追加します(AWSキーを置き換えます)。
$ vim〜/ .jgit
accesskey: aws access key
secretkey: aws secret access key
.jgitファイルでacl:publicを指定しないことにより、S3のgitファイルはプライベートになります(これが目的です)。次に、リポジトリを保存するS3バケットを作成し、git-reposと呼び、アップロードするgitリポジトリを作成します。
s3cmd mb s3://git-repos
mkdir chef-recipes
cd chef-recipes
git init
touch README
git add README
git commit README
git remote add Origin Amazon-s3://.jgit@git-repos/chef-recipes.git
上記では、バケットを作成するためにs3cmdコマンドラインツールを使用していますが、Amazon Webインターフェースからも実行できます。次に、S3にプッシュします(S3とやり取りするときは常にjgitを使用し、それ以外の場合は標準のgitを使用します)。
jgit Push Origin master
次に、別の場所(cd/tmpなど)に移動して、クローンを作成します。
jgit clone Amazon-s3://.jgit@git-repos/chef-recipes.git
更新するときが来たら(jgitはマージまたはプルをサポートしないため)、2つのステップでそれを行います:
cd chef-recipes
jgit fetch
git merge Origin/master
2 Use Fuse-based file system backed by Amazon S
Amazon S3アカウントを取得してください!
ダウンロード、コンパイル、インストールします。 (InstallationNotesを参照)
次のいずれかの方法でセキュリティ資格情報(アクセスキーIDとシークレットアクセスキー)を指定します。
passwd_fileコマンドラインオプションを使用する
aWSACCESSKEYIDおよびAWSSECRETACCESSKEY環境変数の設定
ホームディレクトリで.passwd-s3fsファイルを使用する
システム全体の/ etc/passwd-s3fsファイルを使用する
これを行う
。
/usr/bin/s3fs mybucket /mnt
それでおしまい! Amazonバケット「mybucket」の内容は、/ mntで読み取り/書き込み可能になります。
Dandelionは、GitリポジトリとS3/FTP/SFTPの同期を維持する別のCLIツールです。 http://github.com/scttnlsn/dandelion
git-s3- https://github.com/schickling/git-s
実行する必要があるのはgit-s3 deploy
Gitリポジトリのすべての利点があり、変更したファイルだけをアップロード/削除します。
注:デプロイはgit Pushを介して暗黙的に行われるわけではありませんが、gitフックを介して実現できます。
mc別名Minioクライアント を使用できます。Golangで記述されており、オープンソースApacheライセンスで利用できます。 Mac、Linux、Windows、FreeBsdで利用可能です。 mc mirror
コマンドを使用して要件を達成できます。
mc GNU/Linuxダウンロード
64-bit Intel from https://dl.minio.io/client/mc/release/linux-AMD64/mc
32-bit Intel from https://dl.minio.io/client/mc/release/linux-386/mc
32-bit ARM from https://dl.minio.io/client/mc/release/linux-arm/mc
$ chmod +x mc
$ ./mc --help
Amazon S3のmcの設定
$ mc config Host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
githubのローカルリポジトリ/ディレクトリの名前mygithub
をAmazon S3バケット名mygithubbkp
にミラーリングします
$ ./mc mirror mygithub mys3/mygithubbkp
免責事項に役立つことを願っています: Minio
Deplybot( http://deploybot.com/ )サービスを使用できます。このサービスは、単一のgitリポジトリに対して無料です。
展開モードセクションで[自動]を選択すると、展開を自動化できます。
今使っています。非常に簡単で便利です。
Aws資格情報を使用してUserディレクトリに.jgitファイルを保存するだけで、s3でgitを使用できます。
Git urlは次のようになります。
Amazon-s3://.jgit@mybucket/myproject.git
git
で行うすべてのことをjgit
で実行できます。
ここで完全なセットアップガイドを入手してください。
https://metamug.com/article/jgit-Host-git-repository-on-s3.php
githubでファイルをバージョン管理しますか?このスクリプト(および関連するGitHub/AWS構成)は、リポジトリに新しいコミットを取得し、S3バケットに同期します。