Magento Asked by Prabhu M. on February 14, 2021
Sharing your experience would be helpful for me. Thankyou.
This is a very "BIG" topic but I will cover the basics here
ASSUMING YOU ALREADY HAVE an AWS account and CodeDeploy setup
Here are the basic that we take on a deployment for M2
Here is the appspec.yml file
version: 0.0
os: linux
hooks:
BeforeInstall:
- location: config_files/scripts/beforeInstall.bash
runas: root
AfterInstall:
- location: config_files/scripts/afterInstall.bash
runas: mage_user
- location: config_files/scripts/moveToProduction.bash
runas: root
- location: config_files/scripts/cacheclean.bash
runas: mage_user
Script to compile - You pull and compile code to a deploy server
cd production/build/public_html
git checkout .
git pull origin master
rm -rf var/cache/* var/page_cache/* var/composer_home/* var/tmp/*
php composer.phar update --no-interaction --no-progress --optimize-autoloader
bin/magento setup:upgrade
bin/magento setup:static-content:deploy -t Magento/backend
bin/magento setup:static-content:deploy en_US es_ES -a frontend
bin/magento setup:di:compile
# Make code files and directories read-only
echo "Setting directory base permissions to 0750"
find . -type d -exec chmod 0750 {} ;
echo "Setting file base permissions to 0640"
find . -type f -exec chmod 0640 {} ;
chmod o-rwx app/etc/env.php && chmod u+x bin/magento
# Compress source at shared directory
if [ ! -d /build ]; then
mkdir -p /build
fi
tar -czvf /build/build.tar.gz . --exclude='./pub/media' --exclude='./.htaccess' --exclude='./.git' --exclude='./var/cache' --exclude='./var/composer_home' --exclude='./var/log' --exclude='./var/page_cache' --exclude='./var/import' --exclude='./var/export' --exclude='./var/report' --exclude='./var/backups' --exclude='./var/tmp' --exclude='./var/resource_config.json' --exclude='./var/.sample-data-state.flag' --exclude='./app/etc/config.php' --exclude='./app/etc/env.php'
Now you can deploy to your pre-configured group
sh ./compile.sh
aws deploy create-deployment
--application-name AppMagento2
--deployment-config-name CodeDeployDefault.OneAtATime
--deployment-group-name MyMagentoApp
--description "Live Deployment"
--s3-location bucket=mage-codedeploy,bundleType=zip,eTag=<tagname>,key=live-build2.zip
I created this script to show where you are in the deployment
show-deployment.sh
aws deploy get-deployment --deployment-id $1 --query "deploymentInfo.[status, creator]" --output text
Correct answer by brentwpeterson on February 14, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP