84 lines
2.0 KiB
Ruby
84 lines
2.0 KiB
Ruby
require 'mina/bundler'
|
|
require 'mina/git'
|
|
require 'mina/rbenv'
|
|
|
|
set :user, 'www'
|
|
set :domain, '5.9.98.165'
|
|
set :deploy_to, '/home/www/apps/pastekitten'
|
|
set :repository, 'git@github.com:localhots/pastekitten.git'
|
|
set :branch, 'master'
|
|
set :rbenv_path, '/usr/local/rbenv'
|
|
set :app_path, ->{ "#{deploy_to}/#{current_path}" }
|
|
|
|
set :shared_paths, ['config/database.yml', 'config/syntax.yml']
|
|
|
|
task :environment do
|
|
invoke 'rbenv:load'
|
|
queue 'echo "-----> Hacking Bundler"'
|
|
queue! 'export PATH="/usr/local/rbenv/shims:$PATH"'
|
|
end
|
|
|
|
task :setup => :environment do
|
|
queue! %[mkdir -p "#{deploy_to}/shared/config"]
|
|
queue! %[chmod g+rx,u+rwx "#{deploy_to}/shared/config"]
|
|
|
|
queue! %[touch "#{deploy_to}/shared/config/database.yml"]
|
|
queue %[echo "-----> Be sure to edit 'shared/config/database.yml'."]
|
|
|
|
queue! %[touch "#{deploy_to}/shared/config/syntax.yml"]
|
|
queue %[echo "-----> Be sure to edit 'shared/config/syntax.yml'."]
|
|
end
|
|
|
|
desc "Deploys the current version to the server."
|
|
task :deploy => :environment do
|
|
deploy do
|
|
invoke 'git:clone'
|
|
invoke 'deploy:link_shared_paths'
|
|
invoke 'bundle:install'
|
|
invoke 'assetpack:build'
|
|
|
|
to :launch do
|
|
invoke 'unicorn:restart'
|
|
end
|
|
end
|
|
end
|
|
|
|
namespace :assetpack do
|
|
desc 'Procompile assets'
|
|
task :build do
|
|
queue 'echo "-----> Precompile assets"'
|
|
queue! %Q{
|
|
cd #{app_path}
|
|
bundle exec rake assetpack:build
|
|
}
|
|
end
|
|
end
|
|
|
|
namespace :unicorn do
|
|
set :unicorn_pid, "/tmp/pastekitten.unicorn.pid"
|
|
|
|
desc "Start unicorn"
|
|
task :start => :environment do
|
|
queue 'echo "-----> Start Unicorn"'
|
|
queue! %Q{
|
|
cd #{app_path}
|
|
bundle exec unicorn -c #{app_path}/config/unicorn.rb -E production -D
|
|
}
|
|
end
|
|
|
|
desc "Stop unicorn"
|
|
task :stop do
|
|
queue 'echo "-----> Stop Unicorn"'
|
|
queue! %Q{
|
|
test -s "#{unicorn_pid}" && kill -QUIT `cat "#{unicorn_pid}"` && echo "Stop Ok" && exit 0
|
|
echo >&2 "Not running"
|
|
}
|
|
end
|
|
|
|
desc "Restart unicorn using 'upgrade'"
|
|
task :restart => :environment do
|
|
invoke 'unicorn:stop'
|
|
invoke 'unicorn:start'
|
|
end
|
|
end
|