Files
sionrui/.gitea/workflows/deploy.yml
sion123 b2fc8eafa6
Some checks failed
Build and Deploy / deploy (push) Has been cancelled
feat: youhua
2026-03-21 21:05:33 +08:00

68 lines
2.1 KiB
YAML

name: Build and Deploy
on:
push:
branches:
- main
workflow_dispatch: # 支持手动触发
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Server
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SERVER_HOST }}
port: ${{ secrets.SERVER_PORT || 22 }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SSH_KEY }}
script: |
set -e
echo "=========================================="
echo "开始部署: $(date '+%Y-%m-%d %H:%M:%S')"
echo "=========================================="
# 项目路径配置
PROJECT_DIR=/www/wwwroot/sionrui
BACKEND_DIR=/www/wwwroot/yudao-server
FRONTEND_DIR=/www/wwwroot/muyetools.cn
# 1. 拉取最新代码
echo "[1/4] 拉取最新代码..."
cd $PROJECT_DIR
git fetch origin
git reset --hard origin/main
git pull origin main
# 2. 构建后端
echo "[2/4] 构建后端..."
cd $PROJECT_DIR
mvn clean package -DskipTests -q
# 备份并部署后端
if [ -f "$BACKEND_DIR/yudao-server.jar" ]; then
cp $BACKEND_DIR/yudao-server.jar $BACKEND_DIR/backup/yudao-server-$(date +%Y%m%d%H%M).jar
fi
cp $PROJECT_DIR/yudao-server/target/yudao-server.jar $BACKEND_DIR/
# 3. 构建前端
echo "[3/4] 构建前端..."
cd $PROJECT_DIR/frontend
pnpm install --frozen-lockfile
pnpm build
# 部署前端
rm -rf $FRONTEND_DIR/*
cp -r $PROJECT_DIR/frontend/app/web-gold/dist/* $FRONTEND_DIR/
# 4. 重启后端服务
echo "[4/4] 重启后端服务..."
cd $BACKEND_DIR
bash deploy.sh
echo "=========================================="
echo "部署完成: $(date '+%Y-%m-%d %H:%M:%S')"
echo "=========================================="