-
Jeremy Hinegardner <[email protected]>
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 rubygems.org or some other gem server.
-
You want both (1) and (2) in the same server.
Installing stickler may be done via the standard gem installation
gem install stickler
Or downloaded from github.com/copiousfreetime/stickler/downloads
Stickler is broken up into a few commandline programs.
.Command line programs ******************************************************************
- horizontal
- man/stickler.html[stickler]
-
Used to add gems to and remove gems from the man/stickler-server.html[stickler-server]
- man/stickler-server.html[stickler-server]
-
The server process that holds the gems.
- man/stickler-passenger-config.html[stickler-passenger-config]
-
A helper process to generate Passenger configurations for man/stickler-server.html[stickler-server]
******************************************************************
The easiest way to get up and running with stickler is to run the standalone server man/stickler-server.html[stickler-server] and then use man/stickler.html[stickler] to interact with it.
.Start up a standalone stickler server
% mkdir -p /tmp/stickler-test % stickler-server start –daemonize /tmp/stickler-test
.Set some sane defaults
% stickler config –add –server localhost:6789 –upstream rubygems.org
server : http://localhost:6789
upstream : rubygems.org
% cat ~/.gem/stickler
:server: localhost:6789 :upstream: rubygems.org
.Take a few gems and push them to the server
% 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 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
.Mirror a gem from upstream
% stickler mirror –gem-version 1.4.3 logging Asking localhost:6789/ to mirror logging-1.4.3 from rubygems.org : OK -> localhost:6789/gems/logging-1.4.3.gem % stickler mirror –gem-version 1.16.2 trollop Asking localhost:6789/ to mirror trollop-1.16.2 from rubygems.org : OK -> localhost:6789/gems/trollop-1.16.2.gem
.Look at all the gems installed in your stickler server Open your browser to localhost:6789
% launchy localhost:6789
.Install a gem from your new stickler gem server
% gem install hitimes –source localhost:6789/
.Configure your servers to globally use your internal stickler gem server
% cat /etc/gemrc
:benchmark: false :verbose: false :update_sources: true :bulk_threshold: 1000 :backtrace: false :sources:
gem: –no-rdoc –no-ri
See Also
The man pages that ship with the gem. They may be viewed if you also install the http://defunkt.github.com/gem-man/[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)
>
If you want to do development on stickler, I suggest using rvm.beginrescueend.com/[RVM] and creating a gemset for stickler.
Then run ‘rake how_to_contribute’
-
rubyforge.org/projects/rubygems/[The Rubygems Team]
Copyright © 2008-2010 Jeremy Hinegardner ISC License, See LICENSE for details