39 lines
911 B
Bash
39 lines
911 B
Bash
#!/bin/sh
|
|
set -e
|
|
FRONTEND_DIR=/app
|
|
APP_DIR=/var/www/app
|
|
PUBLIC_DIR="$APP_DIR/public"
|
|
GIT_URL="https://oauth2:${GIT_TOKEN}@${FRONTEND_GIT_REPO}"
|
|
PHP_HOST="app-php"
|
|
PHP_PORT=9000
|
|
|
|
/usr/local/bin/wait-for-it.sh "$PHP_HOST:$PHP_PORT" -t 300
|
|
|
|
if [ ! -d "$FRONTEND_DIR/.git" ]; then
|
|
git clone -b "${FRONTEND_GIT_BRANCH:-main}" "$GIT_URL" "$FRONTEND_DIR"
|
|
else
|
|
cd "$FRONTEND_DIR"
|
|
git fetch origin
|
|
git reset --hard origin/"${FRONTEND_GIT_BRANCH:-main}"
|
|
fi
|
|
|
|
cp "$APP_DIR/public/index.php" "$FRONTEND_DIR/index.php"
|
|
|
|
cd "$FRONTEND_DIR"
|
|
cp /tmp/app.env .env
|
|
npm ci --prefer-offline --no-audit
|
|
npm run build
|
|
|
|
find "$PUBLIC_DIR" -mindepth 1 \
|
|
! -name 'index.php' \
|
|
! -name '.htaccess' \
|
|
! -name 'storage' \
|
|
-delete
|
|
|
|
cp -r dist/* "$PUBLIC_DIR/"
|
|
|
|
if [ ! -L "$PUBLIC_DIR/storage" ] || [ ! -e "$PUBLIC_DIR/storage" ]; then
|
|
ln -sfn "$APP_DIR/storage/app/public" "$PUBLIC_DIR/storage"
|
|
fi
|
|
|
|
exit 0 |