Created
March 14, 2014 12:58
-
-
Save atkolkma/9547192 to your computer and use it in GitHub Desktop.
Capistrano deployment
This file contains 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
# Load DSL and Setup Up Stages | |
require 'capistrano/setup' | |
# Includes default deployment tasks | |
require 'capistrano/deploy' | |
require 'capistrano/rails' | |
# Includes tasks from other gems included in your Gemfile | |
# | |
# For documentation on these, see for example: | |
# | |
# https://github.com/capistrano/rvm | |
# https://github.com/capistrano/rbenv | |
# https://github.com/capistrano/chruby | |
# https://github.com/capistrano/bundler | |
# https://github.com/capistrano/rails/tree/master/assets | |
# https://github.com/capistrano/rails/tree/master/migrations | |
# | |
# require 'capistrano/rvm' | |
# require 'capistrano/rbenv' | |
# require 'capistrano/chruby' | |
# require 'capistrano/bundler' | |
# require 'capistrano/rails/assets' | |
# require 'capistrano/rails/migrations' | |
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined. | |
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r } |
This file contains 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
# SQLite version 3.x | |
# gem install sqlite3 | |
# | |
# Ensure the SQLite 3 gem is defined in your Gemfile | |
# gem 'sqlite3' | |
development: | |
adapter: sqlite3 | |
database: db/development.sqlite3 | |
pool: 5 | |
timeout: 5000 | |
# Warning: The database defined as "test" will be erased and | |
# re-generated from your development database when you run "rake". | |
# Do not set this db to the same as development or production. | |
test: | |
adapter: sqlite3 | |
database: db/test.sqlite3 | |
pool: 5 | |
timeout: 5000 | |
production: | |
adapter: mysql | |
database: parts-inventory | |
pool: 5 | |
timeout: 5000 |
This file contains 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
set :application, 'parts-inventory' | |
set :repo_url, '[email protected]:atkolkma/parts-inventory2.git' | |
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp } | |
# set :deploy_to, '/var/www/my_app' | |
set :scm, :git | |
# set :format, :pretty | |
# set :log_level, :debug | |
set :pty, true | |
# set :linked_files, %w{config/database.yml} | |
# set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} | |
# set :default_env, { path: "/opt/ruby/bin:$PATH" } | |
# set :keep_releases, 5 | |
namespace :deploy do | |
desc 'Restart application' | |
task :restart do | |
on roles(:app), in: :sequence, wait: 5 do | |
# Your restart mechanism here, for example: | |
# execute :touch, release_path.join('tmp/restart.txt') | |
end | |
end | |
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 | |
after :finishing, 'deploy:cleanup' | |
end |
This file contains 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
set :stage, :production | |
# Simple Role Syntax | |
# ================== | |
# Supports bulk-adding hosts to roles, the primary | |
# server in each group is considered to be the first | |
# unless any hosts have the primary property set. | |
role :app, %w{[email protected]} | |
role :web, %w{[email protected]} | |
role :db, %w{[email protected]} | |
# Extended Server Syntax | |
# ====================== | |
# This can be used to drop a more detailed server | |
# definition into the server list. The second argument | |
# something that quacks like a hash can be used to set | |
# extended properties on the server. | |
server '107.170.25.140', user: 'root', roles: %w{web app}, my_property: :my_value | |
# you can set custom ssh options | |
# it's possible to pass any option but you need to keep in mind that net/ssh understand limited list of options | |
# you can see them in [net/ssh documentation](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start) | |
# set it globally | |
# set :ssh_options, { | |
# keys: %w(/home/rlisowski/.ssh/id_rsa), | |
# forward_agent: false, | |
# auth_methods: %w(password) | |
# } | |
# and/or per server | |
# server 'example.com', | |
# user: 'user_name', | |
# roles: %w{web app}, | |
# ssh_options: { | |
# user: 'user_name', # overrides user setting above | |
# keys: %w(/home/user_name/.ssh/id_rsa), | |
# forward_agent: false, | |
# auth_methods: %w(publickey password) | |
# # password: 'please use keys' | |
# } | |
# setting per server overrides global ssh_options | |
# fetch(:default_env).merge!(rails_env: :production) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment