You can override an existing recipe just be reopening the namespace and redefining the task. That can be as easy as:

  deploy.task :migrate do
     # nothing!
  end

Or, if you want to override multiple tasks in a single namespace:

  namespace :deploy do
    task :migrate do
      # ...
    end

    task :finalize_update do
      # ...
    end
  end

- Jamis

On Oct 24, 2007, at 4:28 PM, Chuck Remes wrote:


How do I override the existing recipes? They aren't part of a class
that I can see so I don't see an easy override. Does the syntax allow
me to reopen a :namespace and redefine an existing task?

Also, where should these customizations be stored if I want to use
them for multiple projects? Do they go in /etc/capistrano.conf,
~/.caprc, etc?

Sorry for the newbie questions but it's hard to read through a few
thousand lines of code and grok it all in an afternoon! A pointer to
a blog or doc that gives some of the basics on how to extend
capistrano would be great.


On Oct 24, 2007, at 4:49 PM, Jamis Buck wrote:

The migrate task is only called automatically from deploy:cold, and
deploy:migrations. The standard deploy task does not run the
migrations, and should not require the db role to be set. Also,
aside from deploy:migrate, the only other really rails-centric task
is deploy:finalize_update. Thus, if you want to use the existing
recipes and simply override the rails-isms, you should just be able
to redefine deploy:migrate and deploy:finalize_update.

- Jamis

On Oct 24, 2007, at 3:31 PM, Chuck Remes wrote:


As I described in a previous thread today, I was able to stub out a
"fake" SCM so I could do deployments from a plain directory to a
server. Things got all choked up on my lack of definition of the :db
role. I found some more details on the how & why in this thread [1].

It appears the standard recipes are *very* rails-centric. Since I
don't have a db role defined (necessary for the +migrate+ task to
complete which is called by... most of the other tasks), I would like
to write my own recipe to eliminate some of these rails-isms.

I can see how to do it. What I'm unsure of is where these custom
recipes ought to live. Do they go in /etc/capistrano.conf, ~/.caprc
or somewhere else? Is there a guide somewhere? (I've googled to
little avail, so pointers are welcome!)

I'm also interested in creating a recipe or two for merb deployment
which I will "give back" to the capistrano community. If anyone wants
to help with that, drop me a line.

cr

PS - anyone who wants the code for my fake SCM can feel free to drop
me an email. Maybe I'll even submit it as a "patch" though it's
unlikely Jamis will accept it. :-)

[1] http://groups.google.com/group/capistrano/browse_thread/thread/
20a43001ece0a87a/c778e2a15475034c?lnk=gst&q=unknown
+role#c778e2a15475034c





--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to capistrano- [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/ group/capistrano
-~----------~----~----~----~------~----~------~--~---


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to