Integrates deployment as part of your development environment.
- Sets up a fast and automated deployment workflow
- Creates stagings in configuration format (YAML, PHP, XML)
- Controls tasks execution order through namespaces
- Generates custom tasks and environment variables.
- Ruby >= 2.0
This version of the bundle requires Symfony 3+.
For a Symfony version between 2.4.x and the last LTS release, please use the 1.0 branch.
$ composer require rch/capistrano-bundle:~2.0
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
// app/AppKernel.php
$bundles = array(
// ...
new RCH\CapistranoBundle\RCHCapistranoBundle(),
);
Build installation files for capistrano
$ app/console rch:deploy:install
Install dependencies
$ bundle install
Setup deployment configuration in interactive mode
$ app/console rch:deploy:setup
# app/config/rch/stagings/[staging].yml
# Remote host
domain: 'ssh_host'
# Remote user
user: 'ssh_user'
# Remote key
keys: '/home/ssh_user/.ssh/id_rsa'
# Forward Agent
forward_agent: 'false'
# Authentication mode
auth_methods: 'publickey password'
# Deployment path
deploy_to: '/path/to/deploy'
$ app/console rch:deploy:run --staging-name=[STAGING-NAME]
Look at the capistrano documentation.
This bundle needs help! For the contribution guidelines, see the CONTRIBUTING.md distributed file.
-
Command\Generate\GenerateStagingCommand, takes an yaml file as optional argument (even look for an existing if the argument is not set) and generates a staging for capistrano in interactive mode (optional).
-
Make the path of config files (staging, task) configurable using a bundle Extension.
-
Handle XML/PHP in GenerateStagingCommand.