Stickler
Overview
Stickler is a tool to organize and maintain an internal gem repository. Primarily, you would want to use Stickler if:
-
You have proprietary gems that you want to have available via a gem server so you may
gem install
them. -
You would like to have a local mirror of third party gems from either http://rubygems.org or some other gem server.
-
You want both (1) and (2) in the same server.
Installation
Installing stickler may be done via the standard gem installation
gem install stickler
Or downloaded from http://github.com/copiousfreetime/stickler/downloads
Usage
Stickler is broken up into a few commandline programs.
stickler |
Used to add gems to and remove gems from the stickler-server |
stickler-server |
The server process that holds the gems. |
stickler-passenger-config |
A helper process to generate Passenger configurations for stickler-server |
The easiest way to get up and running with stickler is to run the standalone server stickler-server and then use stickler to interact with it.
% mkdir -p /tmp/stickler-test % stickler-server start --daemonize /tmp/stickler-test
% stickler config --add --server http://localhost:6789 --upstream https://rubygems.org server : http://localhost:6789 upstream : https://rubygems.org % cat ~/.gem/stickler --- :server: http://localhost:6789 :upstream: https://rubygems.org
% ls -1 heel-2.0.0.gem hitimes-1.1.1.gem launchy-0.3.5.gem stickler-2.0.0.gem % stickler push *.gem Pushing gem(s) to http://localhost:6789/ ... /Users/jeremy/tmp/gems/heel-2.0.0.gem -> OK http://localhost:6789/gems/heel-2.0.0.gem /Users/jeremy/tmp/gems/hitimes-1.1.1.gem -> OK http://localhost:6789/gems/hitimes-1.1.1.gem /Users/jeremy/tmp/gems/launchy-0.3.5.gem -> OK http://localhost:6789/gems/launchy-0.3.5.gem /Users/jeremy/tmp/gems/stickler-2.0.0.gem -> OK http://localhost:6789/gems/stickler-2.0.0.gem
% stickler mirror --gem-version 1.4.3 logging Asking http://localhost:6789/ to mirror logging-1.4.3 from rubygems.org : OK -> http://localhost:6789/gems/logging-1.4.3.gem % stickler mirror --gem-version 1.16.2 trollop Asking http://localhost:6789/ to mirror trollop-1.16.2 from rubygems.org : OK -> http://localhost:6789/gems/trollop-1.16.2.gem
Open your browser to http://localhost:6789
% launchy http://localhost:6789
% gem install hitimes --source http://localhost:6789/
% cat /etc/gemrc --- :benchmark: false :verbose: false :update_sources: true :bulk_threshold: 1000 :backtrace: false :sources: - http://stickler.example.com gem: --no-rdoc --no-ri
See Also
The man pages that ship with the gem. They may be viewed if you also install the gem-man gem.
% gem install gem-man % gem man stickler View which manual? 1. stickler-passenger-config(1) 2. stickler-server(1) 3. stickler(1) >
Development
If you want to do development on stickler, I suggest using RVM and creating a gemset for stickler.
Then run rake how_to_contribute
Credits
License
Copyright © 2008-2010 Jeremy Hinegardner ISC License, See LICENSE for details