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
- Starting the local box (
vagrant up --provision
) - Checking coding styles (
rubocop
) - Running BDD cucumber tests (
cucumber
)
Contributing
- Install git flow
- Install Homebrew and run
brew install mysql-connector-c
- Install arcanist
- Install NodeJS (supported: v0.12.7) via
brew install nodejs
- Install Bower (supported: v1.5.2) via
npm install -g [email protected]
- If project is not checked out already do git clone
git clone ssh://[email protected]:5522/diffusion/DKDPLYR/dkdeploy-rails.git
- Checkout origin develop branch (
git checkout --track -b develop origin/develop
) - Git flow initialze
git flow init -d
- Installing gems
bundle install
- Create new feature branch (
git flow feature start my-new-feature
) - Run tests (README.md Testing)
- Commit your changes (
git commit -am 'Add some feature'
) - Send changes to code review (
arc diff
)