2011-01-18 11 views
8

Quiero construir un espejo Rubygems accesible para algunos servidores en el trabajo (que no tienen acceso a Internet), así que comencé como todos parecen hacerlo :¿Hay alguna manera de configurar un espejo Rubygems mínimo (con solo las últimas versiones)?

$ cat gemmirror.config 
--- 
- from: http://gems.rubyforge.org 
to: /data/rubygems/mirror 

$ gem mirror --config-file=gemmirror.config 

El espejo comienza a sincronizarse bien. DE ACUERDO. ¡Pero espera, descarga todo el contenido de http://gems.rubyforge.org! Me refiero a todas las versiones existentes de cada gema. Guau. Después de un par de horas todavía estoy descargando las gemas que comienzan con la letra "L" ...

Sin mencionar el espacio en disco que va a tomar el espejo.

Ahora mi pregunta: ¿hay alguna manera de configurar un "mini" servidor de rubygems, como CPAN :: Mini permite Perl: dicho espejo contendría solo la última versión de cada gema. Esto es en el 99.9% de los casos lo que la gente quiere, supongo (al menos esto sería lo suficientemente bueno para mí allí).

He buscado mucho en Google y, por desgracia, no puedo encontrar ninguna referencia al respecto.

Si alguien puede indicarme la manera de hacerlo, le agradecería mucho.

Gracias!

Respuesta

1

No es realmente lo que está pidiendo, pero tal vez una forma de abordar esto, es configurar un proxy HTTP de almacenamiento en caché que almacenará las gemas tal como se solicitan, que las solicitudes subsiguientes llegarán al caché.

Algo así como squid debería hacer el trabajo.

Entonces cada cliente configura el gem proxy utilizar calamar, por lo que todas las descargas joya pasan a través de él y espero que se encuentran en la memoria caché de 99% de las veces ...

Aunque si utiliza bundler, parece que has issues with the proxy settings :(

Cuestiones relacionadas