mengstack-api/deploy.sh
MengStack Dev bc5c2889c0
Some checks failed
MengStack CI/CD / Build & Test (push) Failing after 44s
MengStack CI/CD / Deploy to Server (push) Has been skipped
Initial commit: MengStack Go API framework
2026-10-02 23:55:35 +08:00

42 lines
983 B
Bash

#!/bin/bash
# MengStack Demo 一键部署脚本
# 用法: ./deploy.sh
set -e
APP_DIR="/www/wwwroot/mengstack-demo"
SERVICE_NAME="mengstack-demo"
BINARY_NAME="mengstack-demo"
GO_PATH="/usr/local/go/bin"
export GOPROXY=https://goproxy.cn,direct
echo "=== MengStack Demo 部署开始 ==="
# 1. 拉取最新代码
echo "[1/4] 拉取最新代码..."
cd "$APP_DIR"
git pull origin master
# 2. 构建二进制
echo "[2/4] 构建 Go 二进制..."
export PATH="$GO_PATH:$PATH"
go build -o "$BINARY_NAME" ./cmd/server/
# 3. 重启服务
echo "[3/4] 重启服务..."
systemctl restart "$SERVICE_NAME"
# 4. 等待并检查状态
sleep 3
echo "[4/4] 检查服务状态..."
if systemctl is-active --quiet "$SERVICE_NAME"; then
echo "=== 部署成功 ==="
echo "服务状态: $(systemctl is-active $SERVICE_NAME)"
curl -s http://localhost:2223/health | head -c 200
echo ""
else
echo "=== 部署失败 ==="
journalctl -u "$SERVICE_NAME" --no-pager -n 20
exit 1
fi