【问题标题】:Is there any mercurial hosting actually *on* Amazon EC2?实际上*在* Amazon EC2 上是否有任何反复无常的托管?
【发布时间】:2010-05-15 20:49:50
【问题描述】:

我需要能够在重置时从 mercurial 中的标签更新我的 ec2 实例,以便我的应用程序始终设置为正确的版本。

如果能够将我的更改推送到一个 mercurial 主机并让我的实例在重置时通过 ec2 网络自动更新,那就太好了!

我真的不想在同一个实例(甚至是专用实例)上托管 mercurial

【问题讨论】:

    标签: mercurial amazon-s3 amazon-ec2


    【解决方案1】:

    您想要的是 Mercurial 原生支持使用 S3 作为数据存储的后端,但不存在这样的代码。您可以也许找到一个 S3 网桥以在 FUSE 中运行(或一个 S3->DAV 网桥,您可以将其挂载为文件系统),然后告诉 Hg 从该虚拟机推送和拉取数据文件系统,但否则您将需要一个专用的 ec2 实例来实际提供数据(您可以按需启动它,但延迟非常糟糕,您可能很清楚)。

    S3 有一个基于 FUSE 的文件系统,名为 s3fs,但它看起来主要是商业产品的驱动程序。

    (另外,根据您的 ec2 架构,假设您在多个实例上的正常运行时间重叠,理论上您可以利用 Hg 的分布式特性来使用现有实例在它们之间传递更改,而无需“ root" 存储库。如果您只有一个实例,当然,这是一个非首发。)

    【讨论】:

    • 尼克走在了正确的轨道上。我怀疑可以使用 mercurial 提供的 static-http:// 后备方法在 S3 之外进行只读托管。然后你会推送到非 ec2 存储库,并使用 s3sync 之类的东西将 .hg 目录放在 s3 上,从那里你的 ec2 节点可以有效地结帐。
    • 我认为您唯一现实的选择是 s3fs,但您必须担心写入重叠 - S3 不提供锁定。我查看了其他一些 s3 文件系统库,但它们几乎都像 iSCSI 一样实现 - 它们模拟 s3 中的块设备,可以作为磁盘安装在本地机器上,但你不能将它安装在多个一台机器。
    猜你喜欢
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 2017-07-06
    • 2011-10-07
    相关资源
    最近更新 更多