Certainly you should never ever use FTP Uploads. FTP Protocol sends your ftp username and passwords as plain text over the network. Which means you are exposing your credentials to the world.
Worst part is THERE IS NO WAY TO REVERT BACK IF ANYTHING GOES WRONG ON THE LIVE HOSTING SERVER.
This approach is not ATOMIC or Instantaneous, Meaning till you upload each files, the changes will be incremental, Sometimes it would be breaking your website. Not all your changes would go instantaneous or the user sees all your changes instantaneous.
Since its a manual process, its very much tedious and error prone.
Version control system are not deployment system.
You don't require a complex configuration and setup of version control system to use it for your deployments. Moreover you need to have lots sysadmin or devops skills to setup properly, otherwise you would invite a lot of security breaches.
If you keep your web folder /var/www/html/project as your git or svn working directory. You tend to give your .git folder inside your project folder to the hackers, could even compromise your whole website.
You can't execute pre deployment tasks before your deployment using git. For Ex. doing a complete static code analysis of your php project. Running complete set of unit tests.
Rollout uses industry standard OpenSSH Protocol for all its remote task execution, Hence its 100% secure.
Rollout updates only changes to the remote server. Hence rollout is fast.
If anything goes wrong after your rollout, Just click on rollback, Your website changes would be reverted to previous version.
Its completely automated, So No Error.
Rollout is made as recipe based, so you can add any number of steps before deployments.
It doesn't require more than 2 min. to setup rollout for your project.
Rollout saves lot of your time. Focus more on development than on deployment.
Saves 70% of time of developers spent in debugging production deployment related issues.
Developers can focus more on Development rather on deployments, thereby increases Developer's Productivity greatly by 70%.
Time is Money, Saving Time is Saving Money. Penny Saved is Penny Earned.
All you need to do is
Make sure your cloud server PHP version meets your required version.
Lots of functions get depreciated in newer versions and if you upload your codebase without this check, your application may break in several places. You will be wasting lots of time in debugging your breaking code and fixing.
At times as you build new features you may be using extensions. Many times you tend to forget installation of these extensions on your server. Rollout checks all your required extensions are already installed or not. If it is not installed, it will halt the installation.
This prevents code getting broken due to a missing extension on the cloud. Hence it saves a lot of your time to find the reason for broken code and install the missing extensions.
Just commit your composer.json, composer.lock on alongside in your project. Rollout automatically installs all the required libraries via composer
There could be syntax errors in your code even after lots of quality assurance checks. Roll-out does a complete syntax check on all your php files and make sure nothing breaks after your code is uploaded to the live servers.
Rollout works seamlessly with both github and bitbucket. Downloads the code in a new release folder. Finally once your code is downloaded. rollout makes this new release folder as active.