Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Herd a pack of Rails mongrels
branch: master

This branch is 5 commits behind Narnach:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
.gitignore
MIT-LICENSE
README.rdoc

README.rdoc

Herd

Herd a pack of Rails mongrels. You can use it to control multiple mongrel clusters in different directories at the same time. Herd started as a project to manage the different projects on my development machine, so that is how it has been used and tested.

Syntax

herd action projectname

Examples

herd help

herd help

Show all herd options. It looks a lot like this readme.

herd init

herd init foobar

Create a new entry in ~/.herd.yml for the foobar project:

---
foobar:
  merbs: []
  mongrel_options: []
  rails_dirs: []

The next step is to edit this entry in a text editor, to define your rails and/or merb directories and mongrel options:

---
foobar:
  merbs:
    - ~/projects/foobar/fileserver
  mongrel_options: --clean
  rails_dirs:
    - ~/projects/foobar/backend
    - ~/projects/foobar/frontend

herd start | stop | restart

herd start   projectname [extra mongrel options]
herd stop    projectname [extra mongrel options]
herd restart projectname [extra mongrel options]

Send a command to the mongrel cluster of each rails directory in the project. You can optionally specify extra mongrel options that need to be added to the configured mongrel options for this call only.

herd list

herd list

List a short summary of all existing projects:

foobar
  rails_dirs: 2
    - ~/projects/foobar/backend
    - ~/projects/foobar/frontend
  merbs: 1
    - ~/projects/foobar/fileserver
  mongrel_options: --clean

Ideas

Turn herd into a gem Refactor code into multiple smaller classes with their own responsibilities. A first rough divide:

  • Herd (for top-level coordination and managing multiple projects)

  • Project (represent one project)

  • MongrelGroup (represent a number of mongrels and their configuration)

  • MerbGroup (represent a number of merbs and their configuration)

About

Author

Wes 'Narnach' Oldenbeuving (github.com/Narnach)

Contributors

Filip H.F. 'FiXato' Slagter (github.com/FiXato)

Website

github.com/Narnach/herd

Copyright

Copyright © 2008 Wes Oldenbeuving

License

MIT license. See MIT-LICENSE for license details.

Something went wrong with that request. Please try again.