The Future of Capistrano
I’ve been asked several times recently if I had any plans to implement in Capistrano the things that Dave Thomas mentioned in his RailsConf keynote address. Not having been there, I had no idea what they were talking about! However, I finally made some time and watched the keynote.
First off, Dave brings up some really good points. The split between developer and sysadmin is a real thing, even if it is one that I don’t wholly agree with. Prerequisites and such are good ideas.
That said, I’m not going to implement them. Or rather, I’m not in a position to implement them right now.
The environments that Dave describes are not the environments I live and work in. If I were to try and implement those things, I’d just be guessing, and I’ve got a pretty bad track record when it comes to guessing what other people need. I’ve learned the hard way to write what I need, and only what I need—and Capistrano, as it stands, is pretty darn close to what I need.
That’s not to say that Capistrano is perfect. It certainly isn’t, and I’ve got plans for further improving it. (In fact, stay tuned for an announcement of a new release, coming up.) However, my vision for Capistrano is not Dave’s vision.
If Dave’s vision happens to be your vision, or if your vision for deployment otherwise differs from mine, then I have a challenge for you: write a deployment system that does what you need it to do. If there’s one thing I’ve learned from Rails, it is that extraction is the only True Way to developing a truly useful system. Perhaps you could be the author of the next generation of Capistrano!