Skip to content
Snippets Groups Projects
Commit bed50009 authored by Mike Wyatt's avatar Mike Wyatt
Browse files

Capistrano deployment example scripts

parent 6bc9249b
No related branches found
No related tags found
No related merge requests found
load 'deploy'
load 'deploy/assets'
require 'bundler/capistrano'
load 'config/deploy'
set :domain, 'set application domain here'
set :db_adapter, 'mysql' # or postgres
set :mount_point, '/'
set :application, 'gitlabhq'
set :user, 'gitlab'
set :rails_env, 'production'
set :deploy_to, "/home/#{user}/apps/#{application}"
set :bundle_without, %w[development test] + (%w[mysql postgres] - [db_adapter])
set :asset_env, "RAILS_GROUPS=assets RAILS_RELATIVE_URL_ROOT=#{mount_point.sub /\/+\Z/, ''}"
set :use_sudo, false
default_run_options[:pty] = true
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
set :scm, :git
set :repository, "git@#{domain}:#{application}.git"
set :deploy_via, :remote_cache
# Alternatively, you can deploy via copy, if you don't have gitlab in git
#set :scm, :none
#set :repository, '.'
#set :deploy_via, :copy
server domain, :app, :web, :db, primary: true
namespace :foreman do
desc 'Export the Procfile to Ubuntu upstart scripts'
task :export, roles: :app do
foreman_export = "foreman export upstart /etc/init -f Procfile -a #{application} -u #{user} -l #{shared_path}/log/foreman"
run "cd #{release_path} && #{sudo} #{fetch :bundle_cmd, 'bundle'} exec #{foreman_export}"
end
desc 'Start the application services'
task :start, roles: :app do
run "#{sudo} service #{application} start"
end
desc 'Stop the application services'
task :stop, roles: :app do
run "#{sudo} service #{application} stop"
end
desc 'Restart the application services'
task :restart, roles: :app do
run "#{sudo} service #{application} restart"
end
end
namespace :deploy do
desc 'Start the application services'
task :start, roles: :app do
foreman.start
end
desc 'Stop the application services'
task :stop, roles: :app do
foreman.stop
end
desc 'Restart the application services'
task :restart, roles: :app do
foreman.restart
end
end
after 'deploy:cold' do
run "cd #{release_path} && #{rake} gitlab:setup force=yes RAILS_ENV=#{rails_env}"
deploy.restart
end
after 'deploy:update', 'foreman:export' # Export foreman scripts
#after 'deploy:update', 'foreman:restart' # Restart application scripts
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment