Dkdeploy::Rails

Description

This Rubygem dkdeploy represents the extension of Capistrano tasks directed to advanced Rails deployment processes.

Installation

Add this line to your application's Gemfile

gem 'dkdeploy-rails', '~> 1.0'

and then execute

bundle install

or install it yourself as

gem install dkdeploy-rails

Usage

Run in your project root

bundle exec cap install STAGES='dev,integration,testing,production'

This command will create the following Capistrano file structure with all the standard pre-configured constants. Please be aware of the difference to the native installation of Capistrano. Certainly you have to adjust config/deploy.rb and respective stages and customize them for your needs.


  ├── Capfile
  └── config
     ├── deploy
        ├── dev.rb
        ├── integration.rb
        ├── testing.rb
        └── production.rb
     └── deploy.rb

As next you have to append the following line to the Capfile in order to make use of dkdeploy extensions in addition to the standard Capistrano tasks:

require 'capistrano/dkdeploy/rails'

To convince yourself, that Capistrano tasks list has been extended, please run

cap -T

Please note, that dkdeploy uses the local copy strategy and overwrites the :scm constant. If you want to use it, you should do nothing more. However if you want to change it, for example to :git, please add the following line to deploy.rb

set :scm, :git

For more information about available Capistrano constants please use the Capistrano documentation. The complete list of the dkdeploy constants you find on project wiki page.

Testing

Prerequisite

rvm (v1.25.x) with installed Ruby 2.1.

Add the virtual box alias to your hosts file

192.168.156.180 dkdeploy.test

Running tests

  1. Starting the local box (vagrant up --provision)
  2. Checking coding styles (rubocop)
  3. Running BDD cucumber tests (cucumber)

Contributing

  1. Install git flow
  2. Install Homebrew and run brew install mysql-connector-c
  3. Install arcanist
  4. Install NodeJS (supported: v0.12.7) via brew install nodejs
  5. Install Bower (supported: v1.5.2) via npm install -g [email protected]
  6. If project is not checked out already do git clone git clone ssh://[email protected]:5522/diffusion/DKDPLYR/dkdeploy-rails.git
  7. Checkout origin develop branch (git checkout --track -b develop origin/develop)
  8. Git flow initialze git flow init -d
  9. Installing gems bundle install
  10. Create new feature branch (git flow feature start my-new-feature)
  11. Run tests (README.md Testing)
  12. Commit your changes (git commit -am 'Add some feature')
  13. Send changes to code review (arc diff)