Skip to content

Instantly share code, notes, and snippets.

@technicalpickles
Created March 18, 2010 03:39
Show Gist options
  • Save technicalpickles/336019 to your computer and use it in GitHub Desktop.
Save technicalpickles/336019 to your computer and use it in GitHub Desktop.

Moonshine, an open source marriage of Capistrano and Puppet, allows you, the developer, to control the deployment process as carefully as you control the development of your application. Deployment, the final link in the food chain can be fraught with errors and missteps. Do you keep a checklist? Have you forgotten one step along the way creating stress on your team or for your client?

Then you need a partner. And Moonshine is that partner.

With Moonshine, you describe your servers using Ruby code, ensuring a consistent Rails deployment environment. Once you have defined your idyllic Rails environment, you can incrementally change your deployment environment from the comforts of your code source. And like the rest of your application, it is versioned.

And remember, it is just Ruby. You can use all of your favorite tricks. Find yourself always using god to monitor your processes? Extract that to a method, put it in a module, include it everywhere! And if you use the same basic setup for all of your applications, extract it to a superclass. Then distribute it and inherit from it where neccessary.

Moonshine takes its job as seriously as you do and should be part of every Ruby developer's toolbox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment