发布到S3使用Git?
有谁知道如何做到这一点? 到目前为止,我还无法通过Googlefind任何有用的信息。
我真的想设置一个本地repo,并使用git push
其发布到S3,这个想法是通过本地版本控制资产,但S3上的远程存储。
可以这样做,如果是这样,怎么样?
1通过http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html 使用JGit
下载jgit.sh,将其重命名为jgit并将其放在path中(例如$ HOME / bin)。
设置.jgitconfiguration文件并添加以下内容(replace您的AWS密钥):
$ vim〜/ .jgit
accesskey: aws access key secretkey: aws secret access key
注意,通过在.jgit文件中不指定acl:public,S3上的git文件将是私有的(这是我们想要的)。 接下来创build一个S3存储区来存储你的存储库,我们称之为git-repos,然后创build一个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命令行工具来创build存储桶,但是您也可以通过Amazon Web界面来完成。 现在让我们把它推到S3(注意,我们如何使用jgit与S3交互,否则使用标准git):
jgit push origin master
现在去别的地方(例如cd / tmp),然后尝试克隆它:
jgit clone amazon-s3://.jgit@git-repos/chef-recipes.git
当需要更新它时(因为jgit不支持合并或者拉),你需要分两步进行:
cd chef-recipes jgit fetch git merge origin/master
2 使用Amazon S3支持的基于FUSE的文件系统
-
获取Amazon S3帐户!
-
下载,编译和安装。 (请参阅安装说明)
-
通过以下方法之一指定您的安全证书(访问密钥ID和秘密访问密钥):
-
使用passwd_file命令行选项
-
设置AWSACCESSKEYID和AWSSECRETACCESSKEY环境variables
-
在主目录中使用.passwd-s3fs文件
-
使用系统范围的/ etc / passwd-s3fs文件
-
做这个
-
。
/usr/bin/s3fs mybucket /mnt
而已! 你的亚马逊桶“mybucket”的内容现在应该可以在/ mnt中读/写
Dandelion是另一种CLI工具,可以让Git仓库与S3 / FTP / SFTP保持同步: http : //github.com/scttnlsn/dandelion
git-s3 – https://github.com/schickling/git-s3
你只需要运行git-s3 deploy
它带有所有的git仓库和uploades的好处/只删除你已经改变的文件。
注意:部署不是通过git push隐含的,但是可以通过git钩子实现。
您可以使用mc aka 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 S3configurationmc
$ mc config host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
- replace您的访问/密钥
- 默认情况下,mc使用亚马逊S3的签名版本4。
- mys3是minio客户端的Amazon S3别名
镜像你的github本地仓库/目录说名称mygithub
到亚马逊S3桶名称mygithubbkp
$ ./mc mirror mygithub mys3/mygithubbkp
希望它有助于免责声明:我为Minio工作
您可以使用deplybot( http://deploybot.com/ )服务,这是免费的单个git存储库。
您可以通过在部署模式部分select“自动”来自动执行部署。
我现在正在使用它。 这是非常容易和有用的。
版本控制你的文件与Github? 这个脚本(及其相关的GitHub / AWSconfiguration)将对您的仓库进行新的提交并将其同步到您的S3存储桶中。