Using Git on your Magento installation is the best option for a number of reasons. It eliminates the mistakes, makes deployment easier, reduces manual actions, and keeps track of all changes. Deploying with Git and our Magento 2 Zero Downtime Deployment extension has a double benefit for both developer and customer experiences.
However, if you can't use Git, but still want to deploy with zero downtime, here are the commands for the zero downtime deployment workflow:
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:remove-old-files-in-magento-root
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:create-instance
cd var/mfzerodwt/instance
#git pull origin master
#composer install
# UPLOAD NEW FILES CHANGES MANUALY
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:enable-new-modules
php -dmemory_limit=-1 bin/magento setup:di:compile
php -dmemory_limit=-1 bin/magento setup:static-content:deploy -f
php -dmemory_limit=-1 bin/magento setup:upgrade --keep-generated --magento-init-params=MAGE_DIRS[base][path]=<PATH_TO_YOUR_MAGENTO>/var/mfzerodwt/instance
cd ../../../
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:copy-new-files-in-magento-root
#git pull origin master
#composer install
# Previus commands copy only new files for generated, var/view_preprocesed, pub/static
# Need to UPLOAD NEW FILES CHANGES to the live folder manualy
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:replace-files-in-magento-root
php -dmemory_limit=-1 bin/magento c:e
php -dmemory_limit=-1 bin/magento c:f
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:remove-old-files-in-magento-root
php -dmemory_limit=-1 bin/magento magefan:zero-downtime:delete-instance
Note: you should paste an absolute path to your Magento instead or <PATH_TO_YOUR_MAGENTO>.
As you can see running static content deploy without Git requires more actions which is rather time-consuming. If you decide to automate the process, explore the zero downtime deployment configuration options for Git.