Unicorn doesn't play nice with Capistrano deployment?

Konstantin Gredeskoul kig at wanelo.com
Wed May 9 19:57:44 UTC 2012


I like the simplicity of your git hook deployment solution, but the
simplicity is also it's limitation.

If you are running say 2 clusters of 10 app servers, need to do
rolling deploys without downtime, stop/start things like resque, solr,
memcached all in the right order to allow for the site to continue
functioning while it's happening, then you'd probably be very happy
that capistrano exists :)

Also, what about production-only configuration, such as production db
connection params, credentials to various other services, maybe even a
payment gateway?  I would highly discourage from checking these into
your source code repo for obvious reasons.

For a single host environment i don't think it really matters, but for
anything bigger than that, capistrano is pretty awesome.  I've used it
for many years, and most recently capified a green field rails
project. It took about an hour.

Anyway, I am not married to capistrano, but I do think it's a great
tool that solves a very large pain in a consistent and programmable
way, and is certainly worth a try.

K



On Wed, May 9, 2012 at 12:47 PM, Rob Sutherland <rob at roberocity.com> wrote:
> I'm going to a bit off your topic but for good reason. I was finally
> annoyed by capistrano for other reasons and went with a simple git
> based deployment.
>
> I setup my remote repo to post to a url in the app when a commit
> happens. The action of that URL is summed up in this gist:
> https://gist.github.com/2648267
>
> I also use this because I can make changes on github directly or on
> the server and commit the changes to cause the same code refresh and
> worker restart. It's also nice that the app on the server is an actual
> git repo.
>
> I don't have experience with the capistrano-unicorn gem; that gem may
> be more of what you're looking for.
>
>
>
>
> On Wed, May 9, 2012 at 2:29 PM, Luis Fernando Urrea
> <lfurrea at simplecs.net> wrote:
>> I am having issues when using unicorn with a Capistrano deployment.
>> >From what I have been able to understand Capistrano uses a scheme in
>> wich every release is deployed inside the releases directory under a
>> unique name and if the transaction was successful, creates a symlink
>> named current that will point to that release.
>>
>> So I end up with a deployment directory such as:
>>
>> /home/deployer/apps/sample_app/current
>>
>> Then when I try to start unicorn from the binstubs directory all the
>> unicorn methods look for things in the following path, particularly in
>> the configurator.rb module:
>>
>> /home/deployer/apps/sample_app
>>
>> I haven't been able to fully understand how unicorn sets the
>> working_directory from here:
>>
>> https://github.com/defunkt/unicorn/raw/master/lib/unicorn/configurator.rb
>>
>> But I wanted to check with the community if I am missing something
>> evident due to the noob nature in me.
>>
>> TIA
>>
>>
>> --
>> O: 2248-2483
>> C: 8723-2518
>> _______________________________________________
>> Unicorn mailing list - mongrel-unicorn at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/mongrel-unicorn
>> Do not quote signatures (like this one) or top post when replying
>
>
>
> --
>
> Rob Sutherland
> 256.473.3148
> _______________________________________________
> Unicorn mailing list - mongrel-unicorn at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-unicorn
> Do not quote signatures (like this one) or top post when replying



-- 

Konstantin Gredeskoul
CTO :: Wanelo Inc
cell: (415) 265 1054


More information about the mongrel-unicorn mailing list