Project

copenhagen

0.0
No commit activity in last 3 years
No release in over 3 years
Extremely opinionated deploy framework for orgs that already have an established deploy process
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
 Project Readme

copenhagen

Copenhagen is an inflexible, opinionated deployment framework for developers or orgs not willing or able to modify their deployment process. Rather than require you to change your process, Copenhagen wraps your existing process, whatever it may be.

Installation

Install the gem from the command line:

$ sudo gem install copenhagen

Usage

Add a Copenhagen.yml file to your project root. Add one top-level node for each of your environments. Within each environment, define the deployment target and the attributes that correspond to the target. Example:

test:
  target: heroku
  git_remote: heroku
  git_branch: master
  
staging:
  target: remote-pull
  pem: /Users/tim/.pems/whatever.pem
  host: ec2-1-2-3-4.compute-1.amazonaws.com
  user: ubuntu
  remote_path: /var/www/test
  git_remote: origin
  git_branch: whatever (optional)
  bundle: true
  touch: false (optional)
  
staging2:
  target: remote-pull-with-password
  host: ec2-1-2-3-4.compute-1.amazonaws.com
  user: ubuntu
  password: Wh4t3v3r
  remote_path: /var/www/test
  git_remote: origin
  (current branch will be used)
  migrate: true
  
production:
  target: remote-script
  pem: /Users/tim/.pems/whatever.pem
  host: ec2-1-2-3-4.compute-1.amazonaws.com
  user: ubuntu
  deploy_user: deploy
  deploy_script: push-whatever-to-prod-servers.sh

To deploy, simply run the dip command followed by the name of the environment. Example:

$ dip staging

or

$ dip production

##Finally...

© 2013 Ashe Avenue. Created by Tim Boisvert.
Copenhagen is released under the MIT license.