feat: 修改部署方式

This commit is contained in:
2025-11-18 22:12:11 +08:00
parent fc8e3a8038
commit c4269dc0b9
10 changed files with 239 additions and 25 deletions

View File

@@ -1,30 +1,28 @@
#!/bin/bash
# 严格模式
set -euo pipefail
PROJECT_ROOT=$(cd -- "$(dirname "${BASH_SOURCE[0]}")/.." &> /dev/null && pwd)
REMOTE_SERVER="02"
REMOTE_DIR="/srv/docker/nginx/www/blog"
DOCKERFILE_PATH=./scripts/Dockerfile
IMAGE_NAME=blog
IMAGE_FILE_NAME=$IMAGE_NAME.tar.gz
REMOTE_SERVER=02
REMOTE_PATH=/srv/docker/nginx/www
DOCKER_NETWORK=docker_app-bridge
cd "${PROJECT_ROOT}"
cd "$PROJECT_ROOT"
pnpm run build
docker build -f $DOCKERFILE_PATH --platform linux/amd64 -t $IMAGE_NAME .
tar -czf dist.tar.gz ./dist >/dev/null 2>&1
docker save $IMAGE_NAME | gzip > $IMAGE_FILE_NAME
scp dist.tar.gz "${REMOTE_SERVER}:${REMOTE_DIR}"
ssh "$REMOTE_SERVER" bash -s -- "${REMOTE_DIR}" << 'EOF'
REMOTE_DIR="$1"
scp $IMAGE_FILE_NAME $REMOTE_SERVER:$REMOTE_PATH
ssh $REMOTE_SERVER bash << EOF
set -euo pipefail
cd "${REMOTE_DIR}"
rm -rf dist
tar -xzf dist.tar.gz
rm dist.tar.gz
cd $REMOTE_PATH
docker load -i $IMAGE_FILE_NAME
docker rm -f $IMAGE_NAME || true
docker run -d --name $IMAGE_NAME --network $DOCKER_NETWORK $IMAGE_NAME
EOF
rm -rf dist
rm -f dist.tar.gz
echo "部署完成"
rm -f $IMAGE_FILE_NAME