2011-12-07 33 views
23

Nơi làm việc của tôi đã cấm chúng tôi truy cập internet để chúng tôi không thể kết nối với rubygems.org để cài đặt đá quý từ xa.Làm thế nào để xây dựng một máy chủ nhân bản rubygems?

Tôi có thể truy cập rubygems.org tại nhà. Có một cách đơn giản để cho phép tôi tải xuống và cập nhật các đá quý mà chúng ta cần ở nhà, sau đó đồng bộ hóa chúng (bằng ổ cứng di động hoặc somthing) với máy chủ gương đá quý cục bộ tại nơi làm việc của tôi để các đồng nghiệp khác có thể cài đặt đá quý từ gương đó máy chủ?

+10

Bạn làm việc ở đâu? Nghe có vẻ không hợp lý! – GrooveStomp

+2

haha, quên đi đá quý, họ sẽ làm gì nếu không có Google? – panupan

Trả lời

35

Bạn có thể sử dụng rubygems-mirror để phản chiếu các đá quý và Gem in a box để lưu trữ chúng.

Cài đặt rubygems-gương:

$ gem install rubygems-mirror 

Sửa ~/.gem/.mirrorrc:

--- 
- from: http://rubygems.org 
    to: ~/.gem/mirror 

Tạo gương dir:

$ mkdir ~/.gem/mirror 
.210

Bắt đầu mirroring:

$ gem mirror 

kết thúc khi mirroring sửa ~/.gem/mirror/config.ru:

require "rubygems" 
require "geminabox" 

Geminabox.data = "./" 
run Geminabox 

Install Gem trong một hộp:

$ gem install geminabox 

Bắt đầu đá quý server:

$ cd ~/.gem/mirror 
$ rackup 

Chỉnh sửa của Gemfile ứng dụng của bạn để sử dụng máy chủ đá quý của bạn:

source "http://your.servers.ip:9292" 
. 

Hoặc thêm nó như là một địa phương mirror cho rubygems.org, vì vậy bạn không cần phải thay đổi số Gemfile:

$ bundle config mirror.https://rubygems.org https://localgems.lan 
$ bundle config mirror.http://rubygems.org http://localgems.lan 

Thỉnh thoảng reindex gương của bạn:

$ gem generate_index --directory ~/.gem/mirror 
+0

cảm ơn! nếu tôi muốn cập nhật gương, tất cả những gì tôi cần làm là: bước 1. $ gem mirror; step2.xcopy ~/.gem/mirror ở máy tính tại nhà đến ~/.gem/mirror tại máy chủ cục bộ của nơi làm việc của tôi, tôi có đúng không? – TomCaps

+0

Vâng, bạn cũng cần phải cấu hình Gem trong một máy chủ hộp và cập nhật các nguồn để trỏ đến nó. – panupan

+0

Tôi có thể mong đợi bao nhiêu không gian đĩa để sử dụng? Tôi hỏi điều này cũng liên quan đến số gigabyte có khả năng được tải xuống bằng thao tác phản chiếu. Ngoài ra, đây có phải là một hoạt động có thể được dừng lại và sau đó tiếp tục lại nơi nó còn lại? Tôi đang nói đến lệnh 'gương ngọc', tất nhiên. – Ernesto

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