Step 1
bin/magento maintenance:enable
Step 2
I upgraded third-party packages and ensured that it does not break the website:
composer self-update
composer clear-cache
rm -f composer.lock
composer update --prefer-source
bin/magento setup:upgrade
rm -rf var/generation var/cache var/log var/page_cache var/view_preprocessed
bin/magento setup:di:compile
find var/* -type f -or -type d | grep -v 'session' | xargs rm -rf
rm -rf pub/static/*
bin/magento setup:static-content:deploy
bin/magento indexer:reindex
bin/magento cron:run
Step 3
composer require magento/product-community-edition 2.2.5 --no-update
composer update --prefer-source
rm -rf var/generation var/cache var/log var/page_cache var/view_preprocessed
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento indexer:reindex
bin/magento cron:run
Step 4
How to fix transactional (order) email sending in Magento 2.2.5?
Step 5
bin/magento config:set sales/instant_purchase/active 0
bin/magento config:set dev/css/minify_files 0
bin/magento config:set weltpixel_frontend_options/form_inputs/form____element____input____placeholder__color '#C2C2C2'
bin/magento module:disable Shopial_Facebook
rm -rf var/di var/generation generated/code && bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
Step 6
bin/magento maintenance:disable
bin/magento cache:enable