Files
kt-financial-system/.gitea/workflows/deploy-mcp.yml
你的用户名 42a3019970
All checks were successful
Deploy to Production / Build and Test (push) Successful in 10m21s
Deploy to Production / Deploy to Server (push) Successful in 5s
ci: run MCP deploy step only
2025-11-08 20:45:13 +08:00

71 lines
2.2 KiB
YAML

name: Deploy Finance MCP Service
on:
push:
branches:
- main
paths:
- 'apps/finance-mcp-service/**'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
workflow_dispatch:
env:
DEPLOY_PATH: /home/atai/kt-financial-system
MCP_PACKAGE: '@vben/finance-mcp-service'
jobs:
deploy-mcp:
runs-on: ubuntu-latest
steps:
- name: Deploy MCP artifacts to server
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.SERVER_HOST || '172.16.74.149' }}
username: ${{ secrets.SERVER_USER || 'atai' }}
password: ${{ secrets.SERVER_PASSWORD || 'wengewudi666808' }}
port: ${{ secrets.SERVER_PORT || '22' }}
command_timeout: 30m
script: |
set -eu
if [ -n "${BASH_VERSION:-}" ]; then
set -o pipefail
fi
LOG_DIR=/home/atai/logs
mkdir -p "${LOG_DIR}"
LOG_FILE="${LOG_DIR}/deploy-mcp-$(date +%Y%m%d-%H%M%S).log"
exec > >(tee -a "${LOG_FILE}") 2>&1
echo "📄 当前部署日志: ${LOG_FILE}"
echo "🚀 部署 Finance MCP 服务"
cd /home/atai
if [ ! -d "kt-financial-system" ]; then
echo "📥 首次部署,正在克隆仓库..."
git clone https://gitea.ktyun.cc/chenjiangjiang/kt-financial-system.git
fi
cd ${DEPLOY_PATH}
git fetch origin main
git reset --hard origin/main
echo "🧱 使用容器化 Node 环境构建..."
sudo docker run --rm \
-v $(pwd):/workspace \
-w /workspace \
node:20-bullseye bash -lc "npm install -g pnpm@9 && pnpm install --filter ${MCP_PACKAGE}... --frozen-lockfile && pnpm --filter ${MCP_PACKAGE} build"
echo "🗂 生成运行入口,方便手动或自动触发 MCP 服务"
cat <<'EOF' | sudo tee /home/atai/run-finance-mcp.sh >/dev/null
#!/bin/bash
set -e
cd /home/atai/kt-financial-system
exec pnpm --filter @vben/finance-mcp-service start
EOF
sudo chmod +x /home/atai/run-finance-mcp.sh
echo "✅ MCP 服务代码已更新至 $(git rev-parse --short HEAD)"