dkdeploy::core
Description
This Rubygem dkdeploy-core
represents the extension of Capistrano tasks directed to advanced deployment processes.
Installation
Add this line to your application's Gemfile
gem 'dkdeploy-core', '~> 10.0'
and then execute
bundle install
or install it yourself as
gem install dkdeploy-core
Usage
Run in your project root
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/core'
To convince yourself, that Capistrano tasks list has been extended, please run
cap -vT
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 in /lib/capistrano/dkdeploy/core.rb
.
Testing
Prerequisite
rvm (v1.29.x) with installed Ruby 2.2 or newer.
Add the virtual box alias to your hosts
file
192.168.156.180 dkdeploy-core.test
Running tests
- Starting the local box (
vagrant up --provision
) - Checking coding styles (
rubocop
) - Running BDD cucumber tests (
BUNDLER_VERSION=2.1.4 cucumber
)
Contributing
- Install git flow
- Install Homebrew and run
brew install mysql
- Install NodeJS (supported: v0.12.7) via
brew install nodejs
- If project is not checked out already do git clone
git@github.com:dkdeploy/dkdeploy-core.git
- Checkout origin develop branch (
git checkout --track -b develop origin/develop
) - Git flow initialze
git flow init -d
- Installing gems
BUNDLER_VERSION=1.17.3 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'
)