forked from yangjj-iso/NiuNiuJavaGuide
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.sh
More file actions
47 lines (38 loc) · 1.27 KB
/
deploy.sh
File metadata and controls
47 lines (38 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash
# 远程服务器一键部署脚本 - 在服务器上执行
set -e
echo "===== JavaGuide 后端部署 ====="
# 1. 安装 Docker(如果没有)
if ! command -v docker &> /dev/null; then
echo ">>> 安装 Docker..."
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
echo ">>> Docker 安装完成"
fi
# 2. 安装 docker compose plugin(如果没有)
if ! docker compose version &> /dev/null; then
echo ">>> 安装 Docker Compose 插件..."
apt-get update && apt-get install -y docker-compose-plugin
echo ">>> Docker Compose 安装完成"
fi
echo ">>> Docker 版本: $(docker --version)"
echo ">>> Compose 版本: $(docker compose version)"
# 3. 进入项目目录
cd /opt/javaguide
# 4. 停止旧容器
docker compose down 2>/dev/null || true
# 5. 构建并启动
echo ">>> 构建并启动服务..."
docker compose up -d --build
echo ">>> 等待服务启动..."
sleep 15
# 6. 检查服务状态
echo "===== 服务状态 ====="
docker compose ps
echo ""
echo "===== 检查后端健康 ====="
curl -s http://localhost:8080/api/auth/login 2>/dev/null && echo "" || echo "后端正在启动中,请稍后..."
echo ""
echo "===== 部署完成 ====="
echo "后端地址: http://$(hostname -I | awk '{print $1}'):8080"