Laravel Envoyer is a zero downtime deployment service for PHP. In ETC, we are using Envoyer as the main deployment tool which allow us to deploy the projects from Gitlab into the desired server.
Official Documentation Link: https://docs.envoyer.io

Once you have added the server, click on the key icon to retrive the public key

Copy the key and add to the server (cPanel) (SSH Terminal)

Search for SSH Access under Security

Security > SSH Access > Manage SSH Keys > Import Key
Set a name for the key and paste the Public key
Leave blank on Private key and Passphrase

Authorize the key

cat envoyer.pub >> ~/.ssh/authorized_keys

To point the document root as envoyer/current/public
public_html pointing to envoyer/current/publicln -s /home/userfolder/envoyer/current/public /home/userfolder/public_html

cd {{release}}
{{php}} artisan migrate --force
{{php}} artisan cache:clear
{{php}} {{composer}} dump-autoload
{{php}} artisan queue:restart
{{php}} artisan storage:link

uploads folder in /public/uploads which uploaded files are being stored and should not be replaced during deployment