[ANN] Capistrano 2.5.3

317 views
Skip to first unread message

Jamis Buck

unread,
Dec 6, 2008, 11:58:52 PM12/6/08
to capis...@googlegroups.com
Just a quick note to announce Capistrano 2.5.3. You can read the full
release announcement here:

http://capify.org/2008/12/7/capistrano-2-5-3

The most notable fix is the lingering issue with deploying from a git
repository, where you'd get "Unable to resolve revision" errors. Those
are hopefully laid to rest, now.

Cheers,

Jamis

Lee Hambley

unread,
Dec 7, 2008, 6:46:02 AM12/7/08
to capis...@googlegroups.com
Hi All,

Thanks to Jamis for another great release, and to those on IRC who continue to help, and support Capistrano with tips, documentation and patches...
viva la Capistrano!

-- Lee (aka Kobani)

2008/12/7 Jamis Buck <ja...@37signals.com>

Larry

unread,
Dec 7, 2008, 10:52:03 AM12/7/08
to Capistrano
Hi Jamis,

There was a problem with an "undefined method close?" for us Windows
users (I know, I know... sorry!) using PuTTY/Pageant:

======
C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/net-ssh-2.0.4/lib/net/ssh/
service/forward.rb:218:in `prepare_client': undefined method `closed?'
for #<Net::SSH::Authentication::Pageant::Socket:0x33b26dc>
(NoMethodError)
======

Here is what you said in the thread about this issue for 2.5.2:

======
This is caused when you are using ssh agent forwarding with capistrano
on windows. It should be fixed in the next release of capistrano, but
in the meantime you can explicitly disable agent forwarding in your
deploy.rb: ssh_options[:forward_agent] = false
======

Here is what happened when I upgraded to Cap 2.5.3 (and along with it
net-ssh-2.0.6):

======
** [deploy:update_code] exception while rolling back: TypeError, can't
convert Net::SSH::Authentication::Pageant::Socket into IO
:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/capistrano-2.5.3/lib/
capistrano/processable.rb:25:in `select': can't convert
Net::SSH::Authentication::Pageant::Socket into IO (TypeError)
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/processable.rb:25:in
`process_iteration'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/command.rb:163:in `process!'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/command.rb:162:in `loop'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/command.rb:162:in `process!'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/command.rb:133:in `process'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/configuration/actions/invocation.rb:
81:in `run_tree'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/configuration/connections.rb:170:in
`execute_on_servers'
from C:/Programs/ruby-1.8.6/lib/ruby/site_ruby/1.8/rubygems/
custom_require.rb:31:in `each_slice'
... 40 levels...
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/lib/capistrano/cli/execute.rb:14:in `execute'
from C:/Programs/ruby-1.8.6/lib/ruby/gems/1.8/gems/
capistrano-2.5.3/bin/cap:4
from C:/Programs/ruby-1.8.6/bin/cap:19:in `load'
from C:/Programs/ruby-1.8.6/bin/cap:19
======

Sorry to be a pain, but any ideas of what is going wrong and how to
fix it?

Thanks,
Larry

Jamis Buck

unread,
Dec 7, 2008, 10:57:37 AM12/7/08
to capis...@googlegroups.com
Grrr.

To be honest, I'm _this_ close to ditching windows support altogether.
I don't use windows, and I don't like to use windows, and I don't plan
to troubleshoot these myself anymore.

Patches to improve windows support will be accepted, as long as they
don't do evil things to the code, but I'm really, really frustrated
with windows at the moment and do not relish the thought of dealing
with more mountains of these bug reports. It's a losing battle.

So, windows users: if you want capistrano, you'll need to figure this
out on your own. :(

- Jamis

Larry

unread,
Dec 7, 2008, 11:22:06 AM12/7/08
to Capistrano
Hi Jamis,

I understand your frustration and wish the Windows issues weren't such
an annoyance.

Just a perspective and then a question, if you don't mind...

I noticed that you were ditching support for Solaris because of
similar problems. I understand that, too. But the problem is that
there are undoubtedly a lot more Windows users than Solaris, and
although *nix is the platform of choice for RoR enthusiasts, the
number of Rails developers using Windows is rather large and will
continue to grow. I am no fan of Microsoft, but, like it or not, they
are the 800 lb. gorilla in the room.

Unfortunately (as far as I know) your great program is kinda "it" as
far as deploying Rails apps go. For those of us without the expertise
and/or time to try to figure out how to keep your latest-and-greatest
updates working with Windows... well, it really puts us in a very bad
place because as of now I cannot deploy my code. But I also understand
that you do a LOT of work on this for free and that you also have a
family, so time is also an issue for you.

Anyway, that's my 2 cents, for what it's worth. And I don't know what
to do about it, which leads me to my question...

Is there a previous release that we can back up to that will work with
Windows? Or can you suggest any other alternatives?

Sorry about this,
Larry

Jamis Buck

unread,
Dec 7, 2008, 12:08:59 PM12/7/08
to capis...@googlegroups.com
On Sun, Dec 7, 2008 at 9:22 AM, Larry <la...@stupidtuesday.com> wrote:
>
> I noticed that you were ditching support for Solaris because of
> similar problems. I understand that, too. But the problem is that
> there are undoubtedly a lot more Windows users than Solaris, and
> although *nix is the platform of choice for RoR enthusiasts, the
> number of Rails developers using Windows is rather large and will
> continue to grow. I am no fan of Microsoft, but, like it or not, they
> are the 800 lb. gorilla in the room.

I'm realizing something about myself and Capistrano. I've been burning
out on cap lately, and I've been trying to figure out why.

I wrote Capistrano for me. I didn't write it to have lots of users. I
didn't write it to be a popular solution to a problem. I wrote it to
scratch my itch. It's been a nice side-effect that so many people have
found it useful, but that wasn't my purpose.

I'm burning out because suddenly I'm feeling an obligation to keep
everyone happy. It is a false obligation, though: I'm honestly not
beholden to anyone for Capistrano's maintenance. I've never received a
cent for my work on cap (and I don't want to receive money for
it--that would put me right back in the obligation boat, and with
better reason).

Something has to give. In this case (and among other things), it's
Windows. Microsoft may be an 800lb gorilla, but it's not _my_ gorilla,
and it's not in _my_ room. If you need to appease the gorilla, that is
(with all due respect) not my problem. If it happens to be your
problem, please feel free to make the time to get acquainted with
Net::SSH and Capistrano, and scratch your itch.

And, frankly, Capistrano is not _it_ when it comes to deployment. If
nothing else, you can always go back and do what everybody did
pre-capistrano: do it by hand.

Now, if you're stuck in Windows by corporate policy, you have my
sympathy. But I'm still not budging on this issue. I will not break my
back or my sanity on Windows troubleshooting any more.

On the other hand, if you're stuck in Windows by choice, you don't
even have my sympathy. :) It is to YOU that I'm speaking, directly,
when I say that if you want Capistrano on Windows, then it's your
responsibility to do something about it. Either you make Cap work on
Windows and send patches upstream, or you write your own solution from
the ground up.

> Is there a previous release that we can back up to that will work with
> Windows? Or can you suggest any other alternatives?

Any Cap 2.x release ought to work fine on windows. If the pageant
thing is biting you, disable ssh agent forwarding:

ssh_options[:forward_agent] = false

If that doesn't work...well, again. It's not my problem anymore. I'm
sorry to come across so callous, but it's what I have to do right now
to keep myself motivated to work on Capistrano at all.

- Jamis

Jamis Buck

unread,
Dec 7, 2008, 12:25:40 PM12/7/08
to Capistrano
I should also clarify my earlier post. When I said "drop support for
Windows", what I meant was that I would "stop killing myself to
support Windows". I won't rip out existing windows support. I'm simply
not going to destroy my sanity by feeling like I need to fix these
myself.

What this also implies, is that if someone claims a patch fixes a
windows bug, and after applying it, nothing breaks on my Mac OS X box,
I'll probably commit it. I won't test it on windows myself. So maybe
you windows users might want to band together and create a QA fork of
capistrano on github where you can collectively test windows-related
patches before they get pushed upstream.

Just a suggestion. As I said, I'm going to be more-or-less blindly
applying patches that are windows related. If that concerns you, you
might want to follow the capistrano development process (such as it
is) a bit more closely.

- Jamis

Larry

unread,
Dec 7, 2008, 3:51:43 PM12/7/08
to Capistrano
Hey Jamis,

I understand your frustration and decision, and can sympathize with
both.

For the record, I'd like to repeat what I said in the "undefined
method: close?" thread because it still rings true:

"Thanks for creating and continuing to work on this great product.
There are a lot of people who appreciate the work that you do."

And that still includes me. :-)

Thanks again,
Larry

Tim Uckun

unread,
Dec 7, 2008, 3:22:36 PM12/7/08
to capis...@googlegroups.com
>
> Is there a previous release that we can back up to that will work with
> Windows? Or can you suggest any other alternatives?


Perhaps a virtual machine could solve your peoblems. I run linux but
I have windows in a virtual machine (virtualbox) for testing purposes.
Virtualbox allows you to share directories with your virtual machine
(you could also use samba) which makes it very easy for me to test.

If you are deploying to linux you could simply deploy form a linux
virtual machine. You could even develop on the virtual machine too!

If you are deploying to windows I guess that would make it much
harder. In that case I would like to suggest powerfolder. It will
take care of moving files around (although won't do all other nice
things cap does so you'll have to roll those yourself).


One other thing you might consider is jruby and glassfish. Deployment
is via WAR files but again you don't get all the nice things you get
with cap. Glassfish and other java containers are well supported in
windows.

Just some suggestions. Good luck.

andersen.hc

unread,
Dec 7, 2008, 8:25:00 PM12/7/08
to Capistrano
exactly my thoughts. open source means community development. the code
is yours as well, so you don't have to start from scratch. use it, but
don't expect other people to work on your project for free.
- hans

Rabbit

unread,
Dec 7, 2008, 8:02:07 PM12/7/08
to Capistrano
I joined this group solely to say: JAMIS, YOU ROCK!

The anarcho-capitalist in me almost hopes you DO tear out Windows
support, just to make Cap leaner and cleaner. Then again, I could take
the same advice your giving Windows users and, *gasp*, do it
myself. ;)

jasonm

unread,
Dec 7, 2008, 7:01:54 PM12/7/08
to Capistrano
You have my respect and admiration.

Mason

unread,
Dec 8, 2008, 5:50:28 AM12/8/08
to Capistrano
Finally. It had to be said, and I'm glad you said it.

Mark Carey

unread,
Dec 8, 2008, 1:36:16 PM12/8/08
to Capistrano
As a user of ruby on windows & linux & osx. I have no problem with
the position your taking. Cap/Net-ssh are is a open source tools, so
if the community wants something that you are not working on, then
they should either fix it themselves or hire someone to do so and then
contribute the fixes back to the community.

Hopefully a lot of the windows drama will go away with "production"
releases of IronRuby.

Until then there are enough free solutions for people on windows to
run linux vms to get around the windows problems. (ie- VMWare player,
coLinux/andLinux, etc...) Hell even using cygwin should work
(puttycyg makes cygwin somewhat usable).


On Dec 7, 9:08 am, "Jamis Buck" <ja...@37signals.com> wrote:

knewter

unread,
Dec 8, 2008, 7:33:54 PM12/8/08
to Capistrano
Jamis,

Hear, hear. Glad to hear you're comfy with the fact that you owe none
of us a blessed thing. Thanks for capistrano, it is 100% perfect for
my needs, and we use it regularly to deploy easily 20+ apps. You
helped me personally on irc one day get an issue solved with a funky
svn+ssh deploy (on linux) :) Thanks again.

-Josh Adams
http://www.ansuzcms.com

Ryan Bates

unread,
Dec 9, 2008, 10:50:39 AM12/9/08
to Capistrano
Hi Jamis,

Thank you for everything you've done on Capistrano! I completely
understand your situation - it's no fun working on something that you
personally don't benefit from. This is the beauty of open source,
Capistrano is a community project, and if other developers feel it
doesn't quite do what they need, that Fork button on GitHub is only a
click a way.

Just an idea: maybe there's a qualified Windows developer out there
who'd like to lead the Capistrano Windows support? A dedicated leader
would mean less chance of Windows support dying all together.

Regards,

Ryan

Jamis Buck

unread,
Dec 9, 2008, 10:55:47 AM12/9/08
to capis...@googlegroups.com
On Tue, Dec 9, 2008 at 8:50 AM, Ryan Bates <ry...@railscasts.com> wrote:
>
> Hi Jamis,
>
> Thank you for everything you've done on Capistrano! I completely
> understand your situation - it's no fun working on something that you
> personally don't benefit from. This is the beauty of open source,
> Capistrano is a community project, and if other developers feel it
> doesn't quite do what they need, that Fork button on GitHub is only a
> click a way.
>
> Just an idea: maybe there's a qualified Windows developer out there
> who'd like to lead the Capistrano Windows support? A dedicated leader
> would mean less chance of Windows support dying all together.

I'd like to see something like that organize independently of me. If
the windows community wants a dedicated leader to represent them, I'd
hope someone would step forward, fork capistrano on github, and
proceed to garner support for their initiative. But I really don't
want to appoint someone.

- Jamis

Reply all
Reply to author
Forward
0 new messages