feat: CI部署流程增加 MCP Server 自动部署和健康检查
This commit is contained in:
parent
0300ec8a1c
commit
8de78e4a63
@ -74,7 +74,7 @@ jobs:
|
||||
run: |
|
||||
echo "═══ 安装依赖 ═══"
|
||||
# 逐个检查并安装
|
||||
for pkg_dir in server/git-sync server/wake-gate server/secrets-vault; do
|
||||
for pkg_dir in server/git-sync server/wake-gate server/secrets-vault server/mcp-server; do
|
||||
if [ -f "/data/guanghulab/repo/$pkg_dir/package.json" ]; then
|
||||
cd "/data/guanghulab/repo/$pkg_dir"
|
||||
npm install --production 2>/dev/null || true
|
||||
@ -82,6 +82,31 @@ jobs:
|
||||
fi
|
||||
done
|
||||
|
||||
- name: 部署 MCP Server
|
||||
env:
|
||||
ZY_REPO_TOKEN: ${{ secrets.ZY_REPO_TOKEN }}
|
||||
run: |
|
||||
echo "═══ 部署 MCP Server ═══"
|
||||
MCP_DIR="/data/guanghulab/repo/server/mcp-server"
|
||||
mkdir -p /data/guanghulab/mcp-server /data/guanghulab/.runtime/logs
|
||||
|
||||
# 注入 Gitea 令牌
|
||||
if [ -n "$ZY_REPO_TOKEN" ]; then
|
||||
sed -i "s/GITEA_TOKEN: ''/GITEA_TOKEN: '$ZY_REPO_TOKEN'/" "$MCP_DIR/ecosystem.config.js"
|
||||
echo "✅ Gitea 令牌已注入"
|
||||
fi
|
||||
|
||||
# 启动或重启 MCP Server
|
||||
if pm2 describe guanghulab-mcp-server &>/dev/null; then
|
||||
pm2 restart guanghulab-mcp-server
|
||||
echo "✅ MCP Server 已重启"
|
||||
else
|
||||
cd "$MCP_DIR"
|
||||
pm2 start ecosystem.config.js
|
||||
echo "✅ MCP Server 已启动"
|
||||
fi
|
||||
pm2 save
|
||||
|
||||
- name: 重启服务
|
||||
run: |
|
||||
echo "═══ 重启服务 ═══"
|
||||
@ -116,6 +141,12 @@ jobs:
|
||||
echo "⚠️ 代码同步服务 未响应"
|
||||
fi
|
||||
|
||||
if curl -sf http://127.0.0.1:8083/health > /dev/null 2>&1; then
|
||||
echo "✅ MCP Server 正常"
|
||||
else
|
||||
echo "⚠️ MCP Server 未响应"
|
||||
fi
|
||||
|
||||
if [ $FAIL -eq 1 ]; then
|
||||
echo "❌ 部署后关键服务异常"
|
||||
exit 1
|
||||
|
||||
@ -74,7 +74,7 @@ jobs:
|
||||
run: |
|
||||
echo "═══ 安装依赖 ═══"
|
||||
# 逐个检查并安装
|
||||
for pkg_dir in server/git-sync server/wake-gate server/secrets-vault; do
|
||||
for pkg_dir in server/git-sync server/wake-gate server/secrets-vault server/mcp-server; do
|
||||
if [ -f "/data/guanghulab/repo/$pkg_dir/package.json" ]; then
|
||||
cd "/data/guanghulab/repo/$pkg_dir"
|
||||
npm install --production 2>/dev/null || true
|
||||
@ -82,6 +82,31 @@ jobs:
|
||||
fi
|
||||
done
|
||||
|
||||
- name: 部署 MCP Server
|
||||
env:
|
||||
ZY_REPO_TOKEN: ${{ secrets.ZY_REPO_TOKEN }}
|
||||
run: |
|
||||
echo "═══ 部署 MCP Server ═══"
|
||||
MCP_DIR="/data/guanghulab/repo/server/mcp-server"
|
||||
mkdir -p /data/guanghulab/mcp-server /data/guanghulab/.runtime/logs
|
||||
|
||||
# 注入 Gitea 令牌
|
||||
if [ -n "$ZY_REPO_TOKEN" ]; then
|
||||
sed -i "s/GITEA_TOKEN: ''/GITEA_TOKEN: '$ZY_REPO_TOKEN'/" "$MCP_DIR/ecosystem.config.js"
|
||||
echo "✅ Gitea 令牌已注入"
|
||||
fi
|
||||
|
||||
# 启动或重启 MCP Server
|
||||
if pm2 describe guanghulab-mcp-server &>/dev/null; then
|
||||
pm2 restart guanghulab-mcp-server
|
||||
echo "✅ MCP Server 已重启"
|
||||
else
|
||||
cd "$MCP_DIR"
|
||||
pm2 start ecosystem.config.js
|
||||
echo "✅ MCP Server 已启动"
|
||||
fi
|
||||
pm2 save
|
||||
|
||||
- name: 重启服务
|
||||
run: |
|
||||
echo "═══ 重启服务 ═══"
|
||||
@ -116,6 +141,12 @@ jobs:
|
||||
echo "⚠️ 代码同步服务 未响应"
|
||||
fi
|
||||
|
||||
if curl -sf http://127.0.0.1:8083/health > /dev/null 2>&1; then
|
||||
echo "✅ MCP Server 正常"
|
||||
else
|
||||
echo "⚠️ MCP Server 未响应"
|
||||
fi
|
||||
|
||||
if [ $FAIL -eq 1 ]; then
|
||||
echo "❌ 部署后关键服务异常"
|
||||
exit 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user