forked from sagnik/Project_Velocity
feat: Oracle CRM Page, Synthetic Client Data and Live Snapshot when hitting emotion hotpoint
This commit is contained in:
57
infrastructure/desineuron_ingress/deploy_velocity_site.sh
Normal file
57
infrastructure/desineuron_ingress/deploy_velocity_site.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
APP_ROOT="${APP_ROOT:-/opt/desineuron-velocity-site}"
|
||||
REPO_URL="${REPO_URL:-https://git.desineuron.in/sagnik/Project_Velocity.git}"
|
||||
BRANCH="${BRANCH:-main}"
|
||||
REPO_DIR="${REPO_DIR:-$APP_ROOT/repo}"
|
||||
APP_DIR="${APP_DIR:-$REPO_DIR/app}"
|
||||
BUILD_DIR="${BUILD_DIR:-$APP_DIR/dist}"
|
||||
SERVE_ROOT="${SERVE_ROOT:-/var/www/velocity.desineuron.in}"
|
||||
CURRENT_DIR="${CURRENT_DIR:-$SERVE_ROOT/current}"
|
||||
STATE_DIR="${STATE_DIR:-$APP_ROOT/state}"
|
||||
REVISION_FILE="${REVISION_FILE:-$STATE_DIR/current_revision.txt}"
|
||||
PERSISTENT_VIDEO_DIR="${PERSISTENT_VIDEO_DIR:-$APP_ROOT/shared/videos}"
|
||||
|
||||
mkdir -p "$APP_ROOT" "$STATE_DIR" "$SERVE_ROOT" "$PERSISTENT_VIDEO_DIR"
|
||||
|
||||
if ! command -v git >/dev/null 2>&1; then
|
||||
echo "git is required" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v npm >/dev/null 2>&1; then
|
||||
echo "npm is required" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$REPO_DIR/.git" ]; then
|
||||
git clone "$REPO_URL" "$REPO_DIR"
|
||||
fi
|
||||
|
||||
git -C "$REPO_DIR" fetch --all --prune
|
||||
git -C "$REPO_DIR" checkout "$BRANCH"
|
||||
git -C "$REPO_DIR" reset --hard "origin/$BRANCH"
|
||||
|
||||
pushd "$APP_DIR" >/dev/null
|
||||
if [ -f package-lock.json ]; then
|
||||
npm ci
|
||||
else
|
||||
npm install
|
||||
fi
|
||||
npm run build
|
||||
popd >/dev/null
|
||||
|
||||
rm -rf "$CURRENT_DIR"
|
||||
mkdir -p "$CURRENT_DIR"
|
||||
cp -a "$BUILD_DIR"/. "$CURRENT_DIR"/
|
||||
|
||||
if [ -d "$PERSISTENT_VIDEO_DIR" ] && [ "$(find "$PERSISTENT_VIDEO_DIR" -maxdepth 1 -type f | wc -l)" -gt 0 ]; then
|
||||
mkdir -p "$CURRENT_DIR/videos"
|
||||
cp -a "$PERSISTENT_VIDEO_DIR"/. "$CURRENT_DIR/videos"/
|
||||
fi
|
||||
|
||||
git -C "$REPO_DIR" rev-parse HEAD > "$REVISION_FILE"
|
||||
date -u +"%Y-%m-%dT%H:%M:%SZ" > "$STATE_DIR/last_deploy_utc.txt"
|
||||
|
||||
echo "Deployed revision $(cat "$REVISION_FILE") to $CURRENT_DIR"
|
||||
Reference in New Issue
Block a user