refactor(erpnext-nginx): Install script

- Remove repetitive code
- Don't explicitly install production deps (they are installed via plain `yarn` with dev deps)
- Don't write to lockfiles
This commit is contained in:
Lev 2021-11-09 03:57:32 +03:00
parent 5666b8f601
commit 53e68f0f70

View file

@ -7,37 +7,29 @@ FRAPPE_BRANCH=${4}
[ "${APP_BRANCH}" ] && BRANCH="-b ${APP_BRANCH}"
mkdir -p /home/frappe/frappe-bench/sites/assets
cd /home/frappe/frappe-bench
echo -ne "frappe\n${APP_NAME}" >/home/frappe/frappe-bench/sites/apps.txt
mkdir -p apps sites/assets/${APP_NAME}
echo -ne "frappe\n${APP_NAME}" >sites/apps.txt
mkdir -p apps
cd apps
git clone --depth 1 https://github.com/frappe/frappe -b ${FRAPPE_BRANCH}
git clone --depth 1 ${APP_REPO} ${BRANCH} ${APP_NAME}
git clone --depth 1 -b ${FRAPPE_BRANCH} https://github.com/frappe/frappe apps/frappe
git clone --depth 1 ${BRANCH} ${APP_REPO} apps/${APP_NAME}
echo "Install frappe NodeJS dependencies . . ."
cd /home/frappe/frappe-bench/apps/frappe
yarn
echo "Install ${APP_NAME} NodeJS dependencies . . ."
cd /home/frappe/frappe-bench/apps/${APP_NAME}
yarn
echo "Build browser assets . . ."
cd /home/frappe/frappe-bench/apps/frappe
yarn production --app ${APP_NAME}
echo "Install frappe NodeJS production dependencies . . ."
cd /home/frappe/frappe-bench/apps/frappe
yarn install --production=true
echo "Install ${APP_NAME} NodeJS production dependencies . . ."
cd /home/frappe/frappe-bench/apps/${APP_NAME}
yarn install --production=true
cd apps/frappe
yarn --pure-lockfile
mkdir -p /home/frappe/frappe-bench/sites/assets/${APP_NAME}
cp -R /home/frappe/frappe-bench/apps/${APP_NAME}/${APP_NAME}/public/* /home/frappe/frappe-bench/sites/assets/${APP_NAME}
echo "Install ${APP_NAME} NodeJS dependencies . . ."
yarn --pure-lockfile --cwd ../${APP_NAME}
echo "Build ${APP_NAME} assets . . ."
yarn production --app ${APP_NAME}
cd /home/frappe/frappe-bench
cp -R apps/${APP_NAME}/${APP_NAME}/public/* sites/assets/${APP_NAME}
# Add frappe and all the apps available under in frappe-bench here
echo "rsync -a --delete /var/www/html/assets/frappe /assets" >/rsync
echo "rsync -a --delete /var/www/html/assets/${APP_NAME} /assets" >>/rsync
chmod +x /rsync
rm /home/frappe/frappe-bench/sites/apps.txt
rm sites/apps.txt