Add standalone artifact deploy workflow
This commit is contained in:
30
deploy/scripts/build-linux-release.sh
Executable file
30
deploy/scripts/build-linux-release.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
IMAGE="${DOCKER_IMAGE:-node:20}"
|
||||
ARTIFACT_NAME="${ARTIFACT_NAME:-abelbirdnest-release.tar.gz}"
|
||||
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
docker run --rm \
|
||||
-v "$ROOT_DIR":/app \
|
||||
-w /app \
|
||||
"$IMAGE" \
|
||||
bash -lc '
|
||||
set -euo pipefail
|
||||
npm ci
|
||||
npx prisma generate
|
||||
npm run build
|
||||
rm -rf .deploy-release
|
||||
mkdir -p .deploy-release
|
||||
cp -R .next/standalone/. .deploy-release/
|
||||
mkdir -p .deploy-release/.next
|
||||
cp -R .next/static .deploy-release/.next/static
|
||||
cp -R public .deploy-release/public
|
||||
cp -R prisma .deploy-release/prisma
|
||||
[ -f .env.production ] && cp .env.production .deploy-release/.env.production || true
|
||||
tar -czf '"$ARTIFACT_NAME"' -C .deploy-release .
|
||||
'
|
||||
|
||||
echo "Artifact created at $ROOT_DIR/$ARTIFACT_NAME"
|
||||
Reference in New Issue
Block a user