核心使用 task 指令 实现多机部署
# encoding:utf-8 # >cap local deploy # >cap remote deploy set :application, "entos" set :deploy_to, "/data/projects/entos" set :scm, "git" set :repository, "git@114.255.155.167:entos.git" set :branch, "master" set :use_sudo, false set :rails_env,"production" task :remote do set :user, "entsea" set :deploy_via, :remote_cache set :copy_exclude, %w(external) server "114.255.155.166", :web, :app, :db, :primary => true end task :local do set :user, 'zzq' set :deploy_via, :remote_cache set :copy_exclude, %w(external) server '192.168.10.105', :web, :app, :db, :primary => true end namespace :deploy do task :start do; end task :stop do; end desc "Creating ln -s , example: database.yml" task :create_sync do run "ln -s #{shared_path}/config/database.yml #{current_path}/config/database.yml" end desc "Restarting unicorn" task :restart, :roles => :app, :except => { :no_release => true } do # run "/bin/sh restart_server.sh" end end after "deploy:symlink", "deploy:create_sync"