I think it’s great, but I have a problem. Before using it, I was deploying using subversion - which is lovely, but being able to do everything locally from your own machine without shelling in is sweet.
Set-up was a bitch though. On two machines (my Win-box and the Debian Linux server itself) I experienced behaviour which was completely contrary to the way I understood the instructions - and the tutorial in the Beta version of Agile Web Development with Ruby On Rails 2nd Edition. (There was an error in their instructions which I corrected. The pragmatic guys pragmatically updated the PDF the next day, so cudos to them!)
The problem is this. If I create a new task in my deploy.rb file, I can’t use it. I can see it in ‘rake remote:show_tasks’, but rake remote:<task_name> throws a ‘I don’t know how to do that, Dave’ style error.
This also applies to hooks - before and after tasks don’t work.
I DID get it to work (after a very frustrating day) by finding the original file deploy.rb is inherited from, finding the ‘update_code’ task, copying it into my deploy file, and editing it. If I called my tasks from THERE, it worked.
I then found that my hooks worked - but only hooks into the function I’d copied over.
Not as much use now, as I have the code there to edit! ;^)
So… I’m guessing this isn’t mormal behaviour, as no instructions mentioned copying code. Copying code is Evil anyway, and I should probably be burned as a sacrifice to the Gods of Good Programming. (Forgive me mighty OO, may you purge my soul DRY.)
So what IS going on? Any ideas?