Right, I'm using this method of redeploying native gems. However, what happens on the first deploy? bin/thor won't work because it hasn't been redeployed.
Thanks, Carl On Jan 21, 4:31 pm, Matt Aimonetti <[email protected]> wrote: > Here is my recipe for the merb book. > > set :application, "app" > set :repository, "git://github.com/mattetti/app.git" > > # If you aren't deploying to /u/apps/#{application} on the target > # servers (which is the default), you can specify the actual location > # via the :deploy_to variable: > set :deploy_to, "~/merb-apps/#{application}" > > # If you aren't using Subversion to manage your source code, specify > # your SCM below: > set :scm, :git > set :git_shallow_clone, 1 > set :git_enable_submodules, 1 > set :deploy_via, :remote_cache > set :repository_cache, "#{application}-src" > set :ssh_options, :forward_agent => true > set :keep_releases, 3 > set :use_sudo, false > > set :user, "mattetti" > # set :password, "" > > # comment out if it gives you trouble. newest net/ssh needs this set. > ssh_options[:paranoid] = false > > role :app, "18.47.26.192" > role :web, "18.47.26.192" > role :db, "18.47.26.192", :primary => true > > # > # ==== Merb variables > # > > set :merb_adapter, "mongrel" > set :merb_environment, ENV["MERB_ENV"] || "production" > set :merb_port, 5500 > set :merb_servers, 3 > > after "deploy:update_code", "symlink:symgem" > after "symlink:symgem","deploy:native_gems" > after "deploy:symlink", "deploy:add_timestamp" > > namespace :symlink do > desc "symlinks gems/gems" > task :symgem, :roles => :app do > run "ln -s #{shared_path}/gems/gems #{latest_release}/gems/gems" > end > end > > namespace :deploy do > > # nginx -c ~/etc/nginx.conf > > desc "stops application server" > task :stop do > run "cd #{latest_release}; bin/merb -K all" > end > > desc "starts application server" > task :start do > run "cd #{latest_release}; bin/merb -a #{merb_adapter} -p #{merb_port} > -c #{merb_servers} -e #{merb_environment}" > end > > desc "recompile native gems" > task :native_gems do > run "cd #{latest_release};bin/thor merb:gem:redeploy" > end > > desc "restarts application server(s)" > task :restart do > deploy.stop > deploy.start > end > > desc "Restart apache" > task :restart_apache, :roles => :web do > sudo "svcadm restart apache" > end > > desc "add a timestamp" > task :add_timestamp do > run "cd #{latest_release}; ./bin/rake add_timestamp" > end > > end > > On Wed, Jan 21, 2009 at 4:53 PM, Carl Porth <[email protected]> wrote: > > > How can one use the bundled version of thor to redeploy your gems when > > in order to use a bundled gem it has to be redeployed? (That was a > > mouthful.) Seems like a chicken/egg sort of problem. What best > > practice should I be using? > > > Thanks, > > Carl --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "merb" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/merb?hl=en -~----------~----~----~----~------~----~------~--~---
