Ram Laxman Yadav bio photo

Ram Laxman Yadav

Ruby on Rails Developer

Email Twitter LinkedIn Github Stackoverflow

Here some general settings and use of them in capistrano deployment.

###Set_scm: Set protocol to copy code from your repository to server. set: ‘git’ // git protocol will used for deployment.

###Set repository: set path of your git repository.

###Deploy_via : This is very important setting. There are two ways to set this variable

  • Set to copy :

     set :deploy_via, :copy

this will copy all code with all meta data of repository like branch info n all.This will be a slow process because capistrano will perform a scp from your repository to server.

  • Set to export:

    set :deploy_via, :export

This is faster a bit because it will clone repository to the server it leave metadata of the repository.

###Set branch: Set default branch to be deployed There are many ways you can set it like:

  • Set it manually: Just hard code the branch name.
    set :branch ,'branch_name'
  • Ask before deployment: Use Capistrano::CLI.ask to take branch name at deployment time.
set :branch do
default_branch = Capistrano::CLI.ask('Enter branch name')

###Use current branch: You can use current working branch like:

  set :branch do
   default_branch = `git rev-parse --abbrev-ref HEAD`.chomp

These are some common settings to keep in mind before writing a deployment script in capistrano.