I use phing for code deployment, typically with liberal use of the "scp" task. I like the idea of uploading the files and just switching a symlink (potentially making the change reversible), and I think I'll try that in my next project.