By any chance, is there any place it's possible to host private ruby gems? So I could allow it to be pulled only for specific places by using public key or something like that?
Thanks
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a server for distributing them.
Our infrastructure is currently hosted on AWS. Some insights into the technical aspects of the site: It's 100% Ruby. The main site is a Rails application. Gems are hosted on Amazon S3, served by Fastly, and the time between publishing a new gem and having it ready for installation is usually just a few seconds.
Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling those functions from Ruby code. Moreover, a Ruby-FFI extension works without changes on Ruby and JRuby.
There is a few options for you...
Install the gem on any server you want to distribute it from. Then run gem server
on the machine. This will start up a small gem server that can be queried by anyone. Then just add the new gem source to the client machines. gem sources -a <server>
.
Setup a gitosis server and store the gem source code on there. Then just pull from the repo and build the gem when you need to update it. Yes it is an extra couple of steps to build and install the gem, however you will get key based authentication for better security.
Exact same thing as gitosis, but you have to pay to make it private. This requires no setup if you can afford it.
Unfortunately, none of the major gem services do exactly what you need. Github stopped building gems, and RubyGems doesn't offer any private gem hosting. Hopefully one of the tools above will work well enough for you. Personally I would just go with the gem server option, then lock the machine down by IP, or some other access restriction. I know its not perfect, but it works and is quick/easy to setup.
Check out Gem in a Box.
Take a look at Gemfury if you prefer a cloud solution.
Disclaimer: I work on this
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With