Skip to content

Support Capistrano 3 #94

Open
mdespuits opened this Issue Oct 15, 2013 · 26 comments

7 participants

@mdespuits

Capistrano got a major release recently and it would be awesome if this would allow support for it. Any chance of that?

@tomafro
Owner
@mdespuits

Yes, as I am looking at it now, it is a major change. Maybe a major version change for the gem?

@tomafro
Owner
tomafro commented Oct 23, 2013

I think it would have to be a major version change. I'm reticent to do it unless there's a very compelling benefit

@peregrinator

It is a major change to capistrano but seems the right way forward in terms of DSL, etc. However it's back to the old shared and releases strategy... Definitely would love to see a version of recap that added that to Cap 3.x!

@mdespuits

I'm hoping capistrano/capistrano#718 will pave the way for something like this.

@natebird
natebird commented Jan 3, 2014

This looks promising. Is there an update now that it was merged in?

@mdespuits

Not yet. I have not had time to tackle it as the architecture to Capistrano 3 may change how Recap is structured. I definitely would like to get moving on that for my company, so it will eventually get done 😟

@natebird

Any update on this? Anything that can be done to help? Is this the thread to track?

@mdespuits

@natebird I haven't made any progress. I've been incredibly busy of late and not focused on deployment. I haven't forgotten, but if someone else wants to pick up the helm, that would be amazing, too

@natebird

I'll try to give it a shot in the next week or so. I'll push up a branch and post back here when I get a chance. Thanks for the quick response.

@MarkMurphy

@natebird Have you made any progress on this?

@MarkMurphy

Doesn't appear that @natebird has anything started but I'm willing to help get this done. I have some questions about some of the code in recap, if I can get someone to give me a hand with those then I'd be willing to get moving on this.

Would be awesome if others would pitch in or help outline exactly what it is that needs to be done so that we have a clear list of tasks to complete.

@manuelmeurer

I would be happy to chip in. Do you want to work in your own fork and accept PRs?

@MarkMurphy

@manuelmeurer Yes. Thanks for volunteering.

@manuelmeurer

Cool. How do we organize this then? Do you want me to look at something specific?

@MarkMurphy

@manuelmeurer I guess that's what we need to figure out. I was thinking I would start buy updating Capistrano then start by rewriting all of the deploy tasks starting with deploy.rb and working my way backward. I don't think we'll need /support/shell_command.rb anymore so I'll probably wipe that out.

We might have to create our own version of: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/setup.rb

So that we can take advantage of the same way defaults and stage specific settings are loaded but skip the git tasks that would otherwise be loaded by:

# line 16: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/setup.rb
load "capistrano/#{fetch(:scm)}.rb"

Once that is done the recap Capfile template will need to be modified accordingly. The settings in there can be moved to a config/deploy.rb. This means we'll need to update the recap cli installation process.

@MarkMurphy

@manuelmeurer So I guess there's a few places your could look at. You could look though the recap support folder to figure out what we still need in there and/or what needs to be updated. Or you could start rewriting some of the other task files to follow the capistrano 3 format. Or anything I outlined in the above comment. Take your pick.

@MarkMurphy

@tomafro what branch should I base off of? and since this will be a major revision, does that put us at version 3?

@manuelmeurer

Okay, I will have a look around first and try to get a feel for what changed in Cap 3. I think we should definitely bounce Recap to 3.0 as well to indicate that it works for Cap 3.

@MarkMurphy
@pencilcheck

Nope, doesn't work

LoadError: cannot load such file -- recap/recipes/rails
@MarkMurphy

It's still a work in progress.

@MarkMurphy

@pencilchek you can get it to work by following the setup and authorization guide for capistranno 3. Once your server is setup change your capfile to require recap/setup and recap/deploy

@MarkMurphy

Also note that rollbacks and tasks related to bundler and assets are still incomplete.

@manuelmeurer

@MarkMurphy Sorry I didn't get anything done in the last weeks, work has been overwhelming. I tried to get an overview over how Recap and Capistrano work today, and how capistrano/capistrano#718 fits in, but I have to say I didn't get very far. Since I won't have much time to work on this in the next time, I am sorry to say I can't be of much help right now...

@MarkMurphy

@manuelmeurer No worries. I totally understand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.