Created
March 5, 2014 13:50
-
-
Save normancapule/9367511 to your computer and use it in GitHub Desktop.
Sample Capistrano 3.1 Config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config valid only for Capistrano 3.1 | |
lock '3.1.0' | |
set :application, '<application_name>' | |
set :repo_url, '<url.git>' | |
set :deploy_via, :remote_cache | |
# Default branch is :master | |
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp } | |
# Default deploy_to directory is /var/www/my_app | |
# set :deploy_to, '/var/www/my_app' | |
# Default value for :scm is :git | |
set :scm, :git | |
# Default value for :format is :pretty | |
set :format, :pretty | |
# Default value for :log_level is :debug | |
set :log_level, :debug | |
# Default value for :pty is false | |
# set :pty, true | |
# Default value for :linked_files is [] | |
set :linked_files, %w{config/database.yml} | |
# Default value for linked_dirs is [] | |
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system public/assets} | |
# Default value for default_env is {} | |
# set :default_env, { path: "/opt/ruby/bin:$PATH" } | |
# Default value for keep_releases is 5 | |
set :keep_releases, 5 | |
# tasks used in all environments | |
load "config/deploy/tasks.rb" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
server '<ip>', user: '<user>', roles: %w{app} | |
set :branch, "<branch>" | |
set :deploy_to, "/var/ww/staging" | |
set :dbuser, "<dbuser>" | |
set :dbpass, "<dbpass>" | |
set :rails_env, 'staging' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace :deploy do | |
desc 'Restart application' | |
task :restart do | |
on roles(:app), in: :sequence, wait: 5 do | |
execute "cd #{current_path} && touch tmp/restart.txt" | |
end | |
end | |
desc 'Post process of deployment' | |
task :post_process do | |
on roles(:app), in: :sequence, wait: 5 do | |
execute "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env)} bundle install --deployment --without development test" | |
execute "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env)} bundle exec rake assets:clean" | |
execute "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env)} bundle exec rake assets:precompile" | |
execute "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env)} bundle exec rake db:create db:migrate" | |
end | |
end | |
desc 'Seed' | |
task :seed do | |
on roles(:app), in: :sequence, wait: 5 do | |
execute "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env)} bundle exec rake db:seed" | |
end | |
end | |
after :deploy, :post_process | |
after :post_process, :restart | |
after :restart, :clear_cache do | |
on roles(:web), in: :groups, limit: 3, wait: 10 do | |
# Here we can do anything such as: | |
# within release_path do | |
# execute :rake, 'cache:clear' | |
# end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment