diff --git a/scripts/pack-bundle.sh b/scripts/pack-bundle.sh index 770a076..d949f75 100644 --- a/scripts/pack-bundle.sh +++ b/scripts/pack-bundle.sh @@ -7,11 +7,11 @@ OUT="deploy-bundle.tar.gz" PACK=".deploy-pack" echo "==> بیلد + بسته‌بندی کامل (dist + node_modules)" -echo "==> بعداً روی سرور دیگر npm زده نمی‌شود" +echo "==> node: $(node -v)" npm config set registry "$MIRROR" npm ci --no-audit --no-fund -npx prisma generate +DATABASE_URL="${DATABASE_URL:-postgresql://fabric:fabric123@localhost:5432/fabric_trade}" npx prisma generate rm -rf dist tsconfig.build.tsbuildinfo npx nest build test -f dist/main.js @@ -20,12 +20,14 @@ rm -rf "$PACK" /tmp/fabric-prod-pack mkdir -p "$PACK" /tmp/fabric-prod-pack cp package.json package-lock.json /tmp/fabric-prod-pack/ +cp -a prisma /tmp/fabric-prod-pack/ +cp prisma.config.ts /tmp/fabric-prod-pack/ ( cd /tmp/fabric-prod-pack sed -i "s|https://registry.npmjs.org|${MIRROR}|g" package-lock.json || true npm ci --omit=dev --no-audit --no-fund --registry="$MIRROR" npm install prisma ts-node typescript --no-save --no-audit --no-fund --registry="$MIRROR" - npx prisma generate + DATABASE_URL="${DATABASE_URL:-postgresql://fabric:fabric123@localhost:5432/fabric_trade}" npx prisma generate ) cp package.json package-lock.json "$PACK/" @@ -37,7 +39,6 @@ cp Dockerfile.bundle "$PACK/Dockerfile" cp docker-compose.bundle.yml "$PACK/docker-compose.yml" cp .env.example "$PACK/" -# dockerignore داخل باندل: چیزی را حذف نکند cat > "$PACK/.dockerignore" <<'EOF' .git .env @@ -46,11 +47,11 @@ EOF tar -czf "$OUT" -C "$PACK" . ls -lh "$OUT" - echo "" -echo "scp $OUT root@SERVER:/opt/parche/" +echo "فایل آماده: $(pwd)/$OUT" +echo "آپلود:" +echo " scp $(pwd)/$OUT root@SERVER:/opt/parche/" echo "روی سرور:" echo " mkdir -p /opt/parche/app && tar -xzf /opt/parche/deploy-bundle.tar.gz -C /opt/parche/app" -echo " cd /opt/parche/app && cp -n .env.example .env && nano .env" +echo " cd /opt/parche/app && cp -n .env.example .env" echo " RUN_SEED=true docker compose up -d --build" -echo " # بیلد Docker فقط COPY است؛ npm ندارد"