Project

depl

0.0
No commit activity in last 3 years
No release in over 3 years
Separate out the deployment concerns from your application by using depl to update your git branches. Then let your provisioning system (for instance, chef + deploy_revision provider) take care of actually deploying new code. depl shows diffs between your current branch and the deployed revision.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.5

Runtime

~> 0.7
~> 1.6
 Project Readme

depl

depl evolved out of Movable Ink's deployments, which typically involved capistrano. Over time, the capistrano scripts got heavier and multiple datacenters were added, each with dozens of machines. We used Chef for provisioning, and found that it was impossible to keep capistrano up-to-date with the comings and goings of new machines. A separation was needed.

The depl workflow

The goal of depl is to separate deployment into two parts: specifying that a new version of code should be deployed, and actually deploying that code to the machines that need it.

A typical deployment would look like this:

ยป depl production
Attempting to deploy d836d33

Difference of 6 new commit(s) between de0aed0 and d836d33:

    d836d33 Michael Nutt         8 minutes ago	   ignore our own .deploy
    9046842 Michael Nutt         8 minutes ago	   make bin executable
    b2b4038 Michael Nutt         8 minutes ago	   clean up gemspec
    e57b428 Michael Nutt         18 minutes ago	   refactoring
    4fba6fa Michael Nutt         26 minutes ago	   add commit comparisons
    349c4ce Michael Nutt         76 minutes ago	   first pass at sending to s3

Deploy? ([y]es / [n]o / [g]ithub) : y
Deployed d836d33

Movable Ink uses Chef to push out new code, and Chef is set up to use environment-based branches for its deployment. This allows newly provisioned machines to get the latest deployed version while not requiring changes to the provisioning system every time the project is updated.

History

  • 0.0.6 - Use spawn() to ensure that $EDITOR properly opens to write tag message
  • 0.0.5 - Tag each deploy so that there is a history.
  • 0.0.4 - Add --force and --quiet options; better help messages.
  • 0.0.3 - Fixed yaml dependency.
  • 0.0.2 - Updated gem description.
  • 0.0.1 - Forked from deploy_s3; initial release.

License

The MIT License. See LICENSE.md.