unicorn, rails, and symlinked deployment

Eric Wong normalperson at yhbt.net
Tue Nov 17 17:20:24 EST 2009


Michael Guterl <mguterl at gmail.com> wrote:
> First let me say thanks for Unicorn, it has helped us fill a gap that
> Passenger could not fill.
> 
> Like many using Rails, we use capistrano for deployment.  At the end
> of each deployment we use the standard capistrano deploy:cleanup task
> to remove old releases.  Everything is fine until we cleanup the
> release directory from which unicorn_rails was originally launched.
> When this happens we get an error in our unicorn error log.
> 
> reloading config_file=/home/deploy/public_html/rm/releases/20091116213921/config/unicorn.rb
> error reloading
> config_file=/home/deploy/public_html/rm/releases/20091116213921/config/unicorn.rb:
> Errno::ENOENT No such file or directory -
> /home/deploy/public_html/rm/releases/20091116213921/config/unicorn.rb
> 
> I'm sure I'm not the only who has experienced this.  Does anyone have
> any recommendations for handling this situation?

Hi Michael,

Unicorn was definitely implemented with Cap in mind.  Which version of
Unicorn are you running?  0.94.0 got better symlink detection for
non-GNU/Linux systems, so if you start in
/home/deploy/public_html/rm/current, then it should detect it and use
/home/deploy/public_html/rm/current/config/unicorn.rb.

If you don't start in your "current" symlink dir, 0.94.0 also got
support for "working_directory" in your config file.

-- 
Eric Wong


More information about the mongrel-unicorn mailing list