This should be the easy bit!
I have Capistrano set up to deploy my app. I’m using a pack of
mongrels, so I’ve included the Ruby gem mongrel_cluster, including the
mongrel cluster recipes in my deploy.rb file.
From what I understand, I shoulc be able to define any task I like in
the deploy.rb file. I should then be able to run it with rake
remote:task_name.
I should also be able to create hook tasks - before_update_code and
after_update_code for example.
The behaviour I am getting is confusing.
Tasks I define don’t work - rake doesn’t ‘know how to build’ them.
Tasks I define ARE shown if I type ‘rake remote:show_tasks’
Tasks that are defined in the demo sections of the created deploy.rb
file show the same behaviour.
If I name a task something like ‘update_code’, it is visible in
show_tasks AND works.
If I try to call a task only defined in the mongrel recipes origibal
file by name, it doesn’t work.
The script works because it overrides things like ‘spinner’ and uses
them to call tasks like ‘start_mongrel_cluster’… So if I call a
defined task from inside a task, it might work.
My next steps will be:
1: Find the file deploy.rb is extending.
2: Find the ‘update_code’ task.
3: Copy it into my deploy.rb
4: Call ‘after_update_code’ explicitly from within it.
It shouldn’t be that hard! I also have a feeling SOMETHING will happen
to stop it working ;^). It’s been that kinda couple of days.
Does anyone know why this is happening? It happens if I deploy from my
Windoze box, or if I deploy from the linux server itself (from another
dir I checked out for testing with ‘on site’.)
Is it a new version problem? (I’m using the latest.) Is it a
configuration I haven’t done? Some instructions I’ve somehow missed?
The fact I created the deploy.rb file on Windows? Have I angered the
Gods?
Please help. This is driving me absolutely nuts!