Dkdeploy::Php
Description
This Rubygem dkdeploy-php
ruby gem represents the extension of Capistrano tasks directed to the advanced deployment process.
Installation
Add this line to your application's Gemfile
gem 'dkdeploy-php', '~> 8.0'
and then execute
bundle install
or install it yourself as
gem install dkdeploy-php
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/php'
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-php constants you find in /lib/capistrano/dkdeploy/php.rb
.
Testing
Prerequisite
Vagrant landrush
plugin is needed. If there are issues, make sure that the following IPv4 address is used for this domain
192.168.156.181 dkdeploy-php.dev
Running tests
- Starting the local box (
vagrant up --provision
) - Checking coding styles (
rubocop
) - Running BDD cucumber tests (
cucumber
)
Contributing
- Install git flow
- If project is not checked out already do git clone
git@github.com:dkdeploy/dkdeploy-php.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'
)