Capistrano::Composer
Composer support for Capistrano 3.x
Installation
Add this line to your application's Gemfile:
gem 'capistrano', '~> 3.0.0'
gem 'capistrano-composer'
And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano-composer
Usage
Require the module in your Capfile
:
require 'capistrano/composer'
capistrano/composer
comes with 5 tasks:
- composer:install
- composer:install_executable
- composer:dump_autoload
- composer:self_update
- composer:run
The composer:install
task will run before deploy:updated as part of
Capistrano's default deploy, or can be run in isolation with:
$ cap production composer:install
By default it is assumed that you have the composer executable installed and in your
$PATH
on all target hosts.
Configuration
Configurable options, shown here with defaults:
set :composer_install_flags, '--no-dev --no-scripts --quiet --optimize-autoloader'
set :composer_roles, :all
set :composer_dump_autoload_flags, '--optimize'
set :composer_download_url, "https://getcomposer.org/installer"
set :composer_version, '1.0.0-alpha8' #(default: not set)
Installing composer as part of a deployment
Add the following to deploy.rb
to manage the installation of composer during
deployment (composer.phar is install in the shared path).
SSHKit.config.command_map[:composer] = "#{shared_path.join("composer.phar")}"
namespace :deploy do
before :starting, 'composer:install_executable'
end
Accessing composer commands directly
This library also provides a composer:run
task which allows access to any
composer command.
From the command line you can run
$ cap production composer:run['status','--profile']
Or from within a rake task using capistrano's invoke
task :my_custom_composer_task do
invoke "composer:run", :update, "--dev --prefer-dist"
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request