I personally like Capistrano and although using a Ruby gem with a PHP site doesn't feel completely natural, Capistrano works perfectly for a non-automated deployment workflow. Whenever you need to upload a new version just run
cap production deploy.
I will assume you have Ruby installed and a working Craft CMS site on your local machine. The server should have PHP and a database MySQL / PostgreSQL installed.
Configuring the Craft Site
I created the capistrano-craft Rubygem which integrates with Capistrano and adds useful features for synchronizing the development and production assets and database.
Install capistrano by running
gem install capistrano,
gem install capistrano-craft and
cap install within your project directory. This will produce various configuration files: