Skip to content

Commit

Permalink
Capistrano deployment example scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
mikew committed Feb 20, 2013
1 parent 6bc9249 commit bed5000
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Capfile.example
@@ -0,0 +1,4 @@
load 'deploy'
load 'deploy/assets'
require 'bundler/capistrano'
load 'config/deploy'
72 changes: 72 additions & 0 deletions config/deploy.rb.example
@@ -0,0 +1,72 @@
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 comments on commit bed5000

Please sign in to comment.