Project

mamiya

0.16
No commit activity in last 3 years
No release in over 3 years
Deploy tool using tarballs and serf for lot of servers
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.5
~> 0.6.2
>= 0
>= 3.0
~> 0.7.1

Runtime

>= 2.0.0
>= 1.4.5
>= 0.18.1
>= 0.5.0
 Project Readme

Mamiya - Faster deploy tool using tarballs and serf

Build Status

What's mamiya?

Mamiya allows you to deploy without ssh -- using tarballs, some storages (S3, etc), and Serf. Build application package on CI or somewhere, then distribute earlier (before you say "Deploy!"). You can switch to a new application quickly, when you're saying "deploy."

Mamiya uses similar directory structure with Capistrano 'deploy_to' -- you can try this easy.

Quick Start

See ./docs/quick_start.md.

Example configuration

example directory contains configuration files that work out-of-the-box. Try Mamiya in your local machine: foreman start

Problems in existing deploy tool

Existing major deploy tools (capistrano, mina, ...) use SSH to operate servers. But connecting to lot of servers via SSH makes deployment slow.

Mamiya solves such problem by using Serf and tarball on one storage (Amazon S3).

Also, I'm planning to allow to distribute files before the deploy command. I guess this can skip or shorten file transferring phase in deploy.

In the production

  • Cookpad was using Mamiya in production of cookpad.com. (until it migrates to full-containerized environment)

Misc.

Upgrade Notes

See docs/upgrading.md.

Contributing

  1. Fork it ( http://github.com/sorah/mamiya/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request