Confused about restart/upgrade w. bundler and symlinks

Daniel Condomitti daniel at condomitti.com
Wed Oct 23 17:18:23 UTC 2013



On Wednesday, October 23, 2013 at 9:02 AM, Eric Wong wrote:

> Carlos Peñas <theistian at gmx.com (mailto:theistian at gmx.com)> wrote:
> > Hi.
> >  
> > I'm having an issue using unicorn with bundler on a rails ap deployed by
> > capistrano
> >  
> > Im using bundler 1.3.5 (tried 1.4rc0 also) I'm deploying with
> > capistrano, version is irrelevant, the issue hit me when keep releases
> > is reached and 'current' symlink where "bundle unicorn" process was
> > initially started.
> >  
> > Im using also unicorn 4.6.3 and ruby 2.0.0, it is a Rails 4 app runing
> > on linux 3.2 64
> >  
> > I'm restarting with a init.d script which sends a HUP to master (restart) or USR2 (upgrade)
> >  
> > bundled gems are vendorized and stored in a shared location between
> > deploys. pids and logs also.
> >  
> > In the config have lines for:
> >  
> > Unicorn::HttpServer::START_CTX[0] pointing to the binary in the bundle
>  
> Actually, I'm not 100% sure if that's correct
> I'll let somebody who uses bundler correct me, but you *might* need
> to use something like this instead:
>  
> start_ctx = Unicorn::HttpServer::START_CTX
> start_ctx[0] = "bundle"
> start_ctx[:argv] = %w(exec unicorn).concat(start_ctx[:argv])

I point to the binary in the bundled gemset using rubygems 1.8.24 and bundler 1.4.0pre1. This works for me while only keeping two releases around

Unicorn::HttpServer::START_CTX[0] = "/opt/app/application-name/current/vendor/bundle/ruby/2.0.0/bin/unicorn


More information about the mongrel-unicorn mailing list