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
9条答案
按热度按时间ogsagwnx1#
1通过http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html使用JGit
下载jgit.sh,将其重命名为jgit,并将其放在路径中(例如$HOME/bin)。
设置.jgit配置文件并添加以下内容(替换AWS密钥):
$vim ~/.jgit
注意,如果不指定acl:public,那么S3上的git文件将是private(这正是我们想要的)。接下来创建一个S3 bucket来存储仓库,我们称之为git-repos,然后创建一个git仓库来上传:
上面我使用了s3 cmd命令行工具来创建bucket,但你也可以通过Amazon的web界面来创建,现在我们把它推到S3(注意我们在与S3交互时是如何使用jgit的,否则是标准git):
现在转到其他位置(例如cd /tmp)并尝试克隆它:
当需要更新它时(因为jgit不支持合并或拉取),你可以通过两个步骤来完成:
2使用FUSE-based file system backed by Amazon S3
1.获取Amazon S3帐户!
1.下载、编译和安装。(请参阅安装说明)
。
就是这样!amazon bucket“mybucket”的内容现在应该可以在/mnt中读/写了
7hiiyaii2#
Dandelion是另一个CLI工具,可以让Git仓库与S3/FTP/SFTP保持同步:http://github.com/scttnlsn/dandelion
wpcxdonn3#
git-s3- https://github.com/schickling/git-s3
您只需运行
git-s3 deploy
它具有git repo的所有优点,只上传/删除你修改过的文件。
8zzbczxx4#
你也可以使用AWS CLI和Git(带钩子)来完成这个操作。验证了在Windows 10上的工作。应该在Linux/Mac上工作。
提交时设置同步到S3
1.安装AWS CLI
1.设置IAM编程访问凭据(您可以限制为S3,甚至可以只限制为存储桶)。
1.使用凭据配置AWS CLI
1.在AWS控制台或CLI中创建S3存储桶。
1.确保存储桶是专用的。
1.为现有的git项目创建一个新的
bare
git repo:注意:使用裸存储库将作为上游,裸存储库将只包含您想要上传到S3存储桶的更改,而不会忽略文件、本地git配置等。
1.将此挂钩作为
post-update
安装到空myproject.git
目录的hooks
中。注:增加
--delete
选项,确保本地删除的文件也从桶中删除,使用--exact-timestamps
选项可以优化上传。有关更多详细信息和选项,请参见aws sync。
1.使用正确的S3存储桶名称更新挂接。
1.现在cd到你的
myproject
目录,并添加空repo作为上游,将其命名为s3
,例如:注:可以使用相对路径作为空目录的路径。
测试
1.将更改添加到repo并提交。
1.当您希望将更改同步到S3存储桶时,将更改推送到上游
s3
。1.您应该看到更改同步到您指定的S3存储桶,您还可以查看S3存储桶中的更改以验证一切正常。
参考文献:
inkz8wg95#
你可以使用mc aka Minio client,它是用Golang写的,在开源Apache许可证下可用。它适用于Mac,Linux,Windows,FreeBsd。你可以使用
mc mirror
命令来达到你的要求。mc GNU/Linux下载
为Amazon S3配置mc
**将github本地存储库/目录镜像为名称
mygithub
**到amazon S3存储桶名称mygithubbkp
希望对您有所帮助免责声明:我为Minio工作
l5tcr1uw6#
你可以使用deplybot(http://deploybot.com/)服务,它对于单个git仓库是免费的。
您可以通过在部署模式部分选择“自动”来自动化部署。
我现在正在用,很简单,很有用。
iklwldmw7#
也许使用awscli中的s3同步。
如果你想忽略与推送到远程仓库时相同的本地文件,你需要使用--exclude标志。这是AWS内部培训所鼓励的,并且它很有效,但是它包含了你文件夹中的所有内容,包括pycache/任何你想忽略的文件,除非你把它们列为带有exclude标志的可选参数。如果你喜欢这种方法,你可以写一个扩展名为.sh的脚本,并且有一系列的--exclude标志,这些标志包含你想忽略的所有文件/目录。
有关语法或基本原理的更多信息,特别是有关include/exclude的信息,请参阅文档。
我喜欢这种普通的方法,因为我不需要安装任何东西,而且它符合s3工具中的任何安全考虑。
jhkqcmku8#
这个脚本(及其相关的GitHub / AWS配置)会将新提交的文件同步到你的存储库,并同步到你的S3存储桶。
https://github.com/nytlabs/github-s3-deploy
tyu7yeag9#
您需要使用JGit。
只需在User目录下保存一个.jgit文件,并使用aws凭据,就可以在s3中使用git。
下面是你的git url的样子。
你可以用
jgit
做任何你用git
做的事情。在此获取完整的安装指南。
https://metamug.com/article/jgit-host-git-repository-on-s3.html