start-docker-compose-cloud.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/bash
  2. # JEECG Boot 一键启动脚本 (Linux Bash 版)
  3. set -e # 遇到错误时退出脚本
  4. # 检查必要工具
  5. echo "[1/5] 检查必要工具..."
  6. command -v docker >/dev/null 2>&1 || { echo "[错误] 未安装 Docker,请先安装 Docker"; exit 1; }
  7. command -v docker-compose >/dev/null 2>&1 || { echo "[错误] 未安装 docker-compose"; exit 1; }
  8. command -v mvn >/dev/null 2>&1 || { echo "[错误] 未安装 Maven"; exit 1; }
  9. command -v pnpm >/dev/null 2>&1 || { echo "[错误] 未安装 pnpm"; exit 1; }
  10. # 设置 hosts 文件
  11. echo "[2/5] 设置 hosts 文件..."
  12. entry1="127.0.0.1 jeecg-boot-gateway"
  13. entry2="127.0.0.1 jeecg-boot-mysql"
  14. hostsFile="/etc/hosts"
  15. # 检查第一个条目是否存在
  16. if ! grep -q "$entry1" "$hostsFile"; then
  17. echo "$entry1" | sudo tee -a "$hostsFile" > /dev/null
  18. echo "已添加: $entry1"
  19. else
  20. echo "已存在: $entry1"
  21. fi
  22. # 检查第二个条目是否存在
  23. if ! grep -q "$entry2" "$hostsFile"; then
  24. echo "$entry2" | sudo tee -a "$hostsFile" > /dev/null
  25. echo "已添加: $entry2"
  26. else
  27. echo "已存在: $entry2"
  28. fi
  29. echo "[3/5] 编译后端项目..."
  30. cd jeecg-boot
  31. mvn clean install -Pdev,SpringCloud
  32. echo "[4/5] 编译前端项目..."
  33. cd ../jeecgboot-vue3
  34. pnpm install
  35. pnpm run build:dockercloud
  36. cd ..
  37. echo "[5/5] 启动Docker容器..."
  38. docker-compose -f docker-compose-cloud.yml up -d
  39. echo
  40. echo "========================================"
  41. echo " JEECG Boot 启动成功 (请等待1分钟,待所有容器启动成功)"
  42. echo "========================================"
  43. echo "前端访问: http://localhost"
  44. echo "后端API: http://localhost:9999"
  45. echo