-
Notifications
You must be signed in to change notification settings - Fork 0
/
magento.sh
82 lines (62 loc) · 3.01 KB
/
magento.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#! /bin/bash
if [ "$(ls -A /var/www/magento/repo_volume)" ]; then
rm -rf /var/www/magento/current
ln -s /var/www/magento/repo_volume /var/www/magento/current
fi
if [ -d /var/www/magento/shared/var ]; then
if [ ! -h /var/www/magento/current/var ]; then
rm -rf /var/www/magento/current/var
fi
ln -s /var/www/magento/shared/var /var/www/magento/current/
fi
if [ -d /var/www/magento/shared/media ]; then
if [ ! -h /var/www/magento/current/pub/media ]; then
rm -rf /var/www/magento/current/pub/media
fi
ln -s /var/www/magento/shared/media /var/www/magento/current/pub/
fi
while [ -z "$DBEXISTS" ]; do
echo "Check database container exists"
DBEXISTS=`mysql -h$DB_PORT_3306_TCP_ADDR --port=$DB_PORT_3306_TCP_PORT -u$DB_ENV_MYSQL_USER -p$DB_ENV_MYSQL_PASS -e "SHOW STATUS"`
sleep 1
done
echo "Check magento database exists"
RESULT=`mysql -h$DB_PORT_3306_TCP_ADDR --port=$DB_PORT_3306_TCP_PORT -u$DB_ENV_MYSQL_USER -p$DB_ENV_MYSQL_PASS -e "SHOW DATABASES LIKE '$DB_ENV_MYSQL_DBNAME'"`
if [ -z "$RESULT" ]; then
if [ -f /var/www/magento/shared/sql/magento.sql.gz ]; then
echo "Create new magento database"
mysql -h$DB_PORT_3306_TCP_ADDR --port=$DB_PORT_3306_TCP_PORT -u$DB_ENV_MYSQL_USER -p$DB_ENV_MYSQL_PASS -e "CREATE DATABASE $DB_ENV_MYSQL_DBNAME;"
gunzip -kf /var/www/magento/shared/sql/magento.sql.gz
echo "Apply magento.sql dump to magento"
mysql -h$DB_PORT_3306_TCP_ADDR --port=$DB_PORT_3306_TCP_PORT -u$DB_ENV_MYSQL_USER -p$DB_ENV_MYSQL_PASS $DB_ENV_MYSQL_DBNAME < /var/www/magento/shared/sql/magento.sql
gzip /var/www/magento/shared/sql/magento.sql
else
while [ -z "$RESULT" ]; do
echo "Check database container exists"
RESULT=`mysql -h$DB_PORT_3306_TCP_ADDR --port=$DB_PORT_3306_TCP_PORT -u$DB_ENV_MYSQL_USER -p$DB_ENV_MYSQL_PASS -e "SHOW DATABASES LIKE '$DB_ENV_MYSQL_DBNAME'"`
sleep 1
done
fi
fi
cd /var/www/magento/current
magento maintenance:enable
cd /var/www/magento/current/app/etc/
cp ./local.xml.widgento.template ./local.xml.live.tmp
sed -i "s/{{db_host}}/${DB_PORT_3306_TCP_ADDR}:${DB_PORT_3306_TCP_PORT}/g" ./local.xml.live.tmp
sed -i "s/{{db_user}}/$DB_ENV_MYSQL_USER/g" ./local.xml.live.tmp
sed -i "s/{{db_pass}}/$DB_ENV_MYSQL_PASS/g" ./local.xml.live.tmp
sed -i "s/{{db_name}}/$DB_ENV_MYSQL_DBNAME/g" ./local.xml.live.tmp
sed -i "s/{{session_host}}/$SESSION_PORT_11211_TCP_ADDR/g" ./local.xml.live.tmp
sed -i "s/{{session_port}}/$SESSION_PORT_11211_TCP_PORT/g" ./local.xml.live.tmp
sed -i "s/{{cache_host}}/$CACHE_PORT_11211_TCP_ADDR/g" ./local.xml.live.tmp
sed -i "s/{{cache_port}}/$CACHE_PORT_11211_TCP_PORT/g" ./local.xml.live.tmp
mv ./local.xml.live.tmp ./local.xml
cd /var/www/magento/current/
chmod 0777 -R /var/www/magento/current/var
magento setup:db-schema:upgrade
magento setup:db-data:upgrade
./n98-magerun2.phar dev:log --on --global
rm -rf var/cache/
./n98-magerun2.phar cache:flush
chown -R magento:dev /var/www/magento/current/
magento maintenance:disable