2010-05-14 20 views
5

Tôi cần có thể cập nhật cá thể ec2 của mình từ nhãn bằng thủy ngân khi nó đặt lại để ứng dụng của tôi luôn được đặt ở bản sửa đổi phù hợp.Có bất kỳ lưu trữ mercurial thực sự * trên * Amazon EC2?

Thật tuyệt vời khi có thể đẩy các thay đổi của tôi tới máy chủ lưu trữ siêu dữ liệu và yêu cầu bản sao của tôi tự động cập nhật trên mạng ec2 khi chúng được đặt lại!

tôi thực sự không muốn lưu trữ nhanh nhẹn trên cùng một ví dụ (hoặc thậm chí một trường hợp riêng)

Trả lời

2

gì bạn muốn là Mercurial để hỗ trợ natively sử dụng S3 như một backend để lưu trữ dữ liệu, và không có mã như vậy tồn tại . Bạn có thể có thể tìm cầu nối S3 để chạy trong FUSE (hoặc cầu S3-> DAV mà bạn có thể gắn kết dưới dạng hệ thống tệp) và sau đó yêu cầu Hg đẩy và kéo dữ liệu từ hệ thống tệp ảo đó, nhưng nếu không bạn sẽ cần một cá thể ec2 chuyên dụng để thực sự phục vụ dữ liệu (bạn có thể khởi chạy nó theo yêu cầu, nhưng độ trễ trên đó là khá tệ, như bạn có thể biết rõ).

Có một hệ thống tệp dựa trên FUSE cho S3 được gọi là s3fs, nhưng có vẻ như nó chủ yếu là một trình điều khiển cho phiếu mua hàng thương mại.

(Riêng biệt, tùy thuộc vào cấu trúc ec2 của bạn và giả sử bạn có chồng chéo lên nhau trong nhiều trường hợp, bạn có thể sử dụng lý thuyết bản chất phân tán của Hg để sử dụng các phiên bản hiện tại của bạn. "root" kho. Nếu bạn chỉ có một cá thể, tất nhiên, đây không phải là người khởi động.)

+0

Nick đang đi đúng hướng. Tôi nghi ngờ một người có thể thực hiện việc lưu trữ chỉ đọc của S3 bằng phương thức static-http: // fallback mà mercurial cung cấp. Sau đó, bạn sẽ đẩy đến một repo không ec2, và sử dụng một cái gì đó như s3sync để đặt thư mục .hg trên s3, từ whence nút ec2 của bạn có thể kiểm tra hiệu quả. –

+0

Tôi nghĩ rằng lựa chọn thực tế duy nhất của bạn là s3fs, nhưng bạn phải lo lắng về việc viết chồng chéo - S3 không cung cấp khóa. Tôi đã xem qua một vài thư viện hệ thống tập tin s3 khác, nhưng chúng hầu như được thực hiện như iSCSI - chúng mô phỏng một thiết bị khối trong s3 có thể được gắn như một đĩa trên máy cục bộ, nhưng bạn không thể gắn nó vào nhiều hơn một máy tại một thời điểm. –

Các vấn đề liên quan