1
0
Fork 0
mirror of https://github.com/capistrano/capistrano synced 2023-03-27 23:21:18 -04:00
Remote multi-server automation tool
Find a file
2013-05-28 17:05:11 +02:00
bin installation - running cap install capifies app 2013-02-01 14:51:50 +00:00
lib Enable filtering server list when querying. 2013-05-28 12:43:05 +02:00
spec Fix tests for a problem occuring with a specific test order. 2013-05-28 16:23:47 +02:00
.gitignore Ignore .ruby-version file 2013-05-28 17:05:11 +02:00
capistrano.gemspec Force a newer version of SSHKit 2013-04-01 14:44:11 +02:00
Gemfile initial commit 2013-02-01 09:19:14 +00:00
LICENSE.txt initial commit 2013-02-01 09:19:14 +00:00
Rakefile add default rake task for travis 2013-02-08 09:20:23 +00:00
README.md mention --trace option 2013-05-24 11:01:29 +01:00

Capistrano Build Status

TODO

Installation

Add this line to your application's Gemfile:

gem 'capistrano', github: 'capistrano/capistrano', branch: :v3

And then execute:

$ bundle --binstubs

Capify:

$ cap install

This creates the following files:

  • Capfile
  • lib/deploy/tasks
  • config/deploy/staging.rb
  • config/deploy/production.rb

To create different stages:

$ cap install STAGES=local,sandbox,qa,production

Usage

$ cap -vT

$ cap staging deploy
$ cap production deploy

$ cap production deploy --dry-run
$ cap production deploy --prereqs
$ cap production deploy --trace

Configuration

# config/deploy.rb
set :application, 'example app'

# config/deploy/production.rb
set :stage, :production

ask :branch, :master

role :app, %w{example.com example2.com}
role :web, %w{example.com}
role :db, %w{example.com}

# the first server in the array is considered primary

Tasks

Before / After

Where calling on the same task name, executed in order of inclusion

# call an existing task
before :starting, :ensure_user

after :finishing, :notify


# or define in block
before :starting, :ensure_user do
  #
end

after :finishing, :notify do
  #
end

Console

Execute arbitrary remote commands

$ cap staging console

Configuration

SSHKit