Capistrano extension for advanced deployments
Switch branches/tags
Clone or download
ncreuschling Merge tag 'v9.2.1' into develop
v9.2.1

* tag 'v9.2.1':
  prepare release of v9.2.1
Latest commit 4ab6043 Dec 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets added dkdeploy logo Aug 31, 2016
config/vm/cookbooks/dkdeploy-core updated dependencies, updated RuboCop and fixed reported issues Dec 3, 2018
features updated dependencies, updated RuboCop and fixed reported issues Dec 3, 2018
lib prepare release of v9.2.1 Dec 6, 2018
spec/fixtures
.gitignore
.rubocop.yml updated dependencies, updated RuboCop and fixed reported issues Dec 3, 2018
.travis.yml [CI] Test against Ruby 2.5 Mar 24, 2018
Berksfile
Berksfile.lock updated dependencies, updated RuboCop and fixed reported issues Dec 3, 2018
CHANGELOG.md prepare release of v9.2.1 Dec 6, 2018
CONTRIBUTORS.md added Hannes to list of contributors Dec 6, 2018
Gemfile initial release of dkdeploy-core v8.0.0 Jun 20, 2016
LICENSE updated dependencies, updated RuboCop and fixed reported issues Dec 3, 2018
README.md prepare for release of v9.2.0 Dec 6, 2018
Rakefile initial release of dkdeploy-core v8.0.0 Jun 20, 2016
Vagrantfile
dkdeploy-core.gemspec updated dependencies, updated RuboCop and fixed reported issues Dec 3, 2018

README.md

dkdeploy

dkdeploy::core

Build Status Gem Version Inline docs

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', '~> 9.2'

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.

Add the virtual box alias to your hosts file

192.168.156.180 dkdeploy-core.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
  3. Install NodeJS (supported: v0.12.7) via brew install nodejs
  4. If project is not checked out already do git clone git@github.com:dkdeploy/dkdeploy-core.git
  5. Checkout origin develop branch (git checkout --track -b develop origin/develop)
  6. Git flow initialze git flow init -d
  7. Installing gems bundle install
  8. Create new feature branch (git flow feature start my-new-feature)
  9. Run tests (README.md Testing)
  10. Commit your changes (git commit -am 'Add some feature')