One tool I am particularly fond of is deployer [https://deployer.org]
This is such a handy tool, I use it for most of my sites.
What is it?
Deployer is a tool that will help you put your code on your web server (deploying), and without any downtime. This means that it won’t install your new code, when something is wrong during the deploy. Even when everything runs as it should, but you find a bug in your code, you can roll back with ease.