wblog/config/deploy.rb

53 lines
1.6 KiB
Ruby
Raw Normal View History

2015-04-08 00:15:02 +08:00
require 'mina/multistage'
2014-04-01 22:54:58 +08:00
require 'mina/bundler'
require 'mina/rails'
require 'mina/git'
require 'mina/rvm' # for rvm support. (http://rvm.io)
2015-04-08 00:15:02 +08:00
require 'mina/unicorn'
2014-04-01 22:54:58 +08:00
2015-04-08 00:15:02 +08:00
set :stages, %w(en zh)
set :default_stage, 'zh'
2014-04-01 22:54:58 +08:00
# Manually create these paths in shared/ (eg: shared/config/database.yml) in your server.
# They will be linked in the 'deploy:link_shared_paths' step.
2014-04-02 19:55:04 +08:00
set :shared_paths, ['config/mongoid.yml', 'config/application.yml', 'log', 'tmp', 'public/uploads', 'public/personal' ]
2014-04-01 22:54:58 +08:00
task :environment do
queue! %[source /usr/local/rvm/scripts/rvm]
queue! %[rvm use 2.0.0]
end
task :setup => :environment do
2014-04-02 19:55:04 +08:00
['config', 'log', 'tmp', 'public/uploads', 'public/personal'].each do |dir|
2014-04-01 22:54:58 +08:00
queue! %[mkdir -p "#{deploy_to}/shared/#{dir}"]
queue! %[chmod g+rx,u+rwx "#{deploy_to}/shared/#{dir}"]
end
['config/mongoid.yml', 'config/application.yml'].each do |file|
queue! %[touch "#{deploy_to}/shared/#{file}"]
queue %[echo "-----> Be sure to edit 'shared/#{file}'."]
end
2014-04-03 10:34:25 +08:00
queue! %[mkdir -p "#{deploy_to}/shared/pids/"]
2015-04-08 00:15:02 +08:00
queue! %[mkdir -p "#{deploy_to}/shared/tmp/sockets"]
queue! %[mkdir -p "#{deploy_to}/shared/tmp/pids"]
2014-04-03 10:34:25 +08:00
queue! %[mkdir -p "#{deploy_to}/shared/log/"]
2014-04-01 22:54:58 +08:00
end
desc "Deploys the current version to the server."
task :deploy => :environment do
deploy do
# Put things that will set up an empty directory into a fully set-up
# instance of your project.
invoke :'git:clone'
invoke :'deploy:link_shared_paths'
invoke :'bundle:install'
invoke :'rails:db_migrate'
invoke :'rails:assets_precompile'
to :launch do
invoke :'unicorn:restart'
end
end
end