You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.0 KiB

#!/bin/bash
# 部署脚本 - 微信小程序后端服务
echo "开始部署微信小程序后端服务..."
# 检查是否安装了Docker
echo "检查Docker是否安装..."
if ! command -v docker &> /dev/null; then
echo "错误: Docker未安装,请先安装Docker"
exit 1
fi
# 检查是否安装了Docker Compose
echo "检查Docker Compose是否安装..."
if ! command -v docker-compose &> /dev/null; then
echo "Docker Compose未安装,正在安装..."
# 安装Docker Compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加执行权限
chmod +x /usr/local/bin/docker-compose
# 检查安装是否成功
if ! command -v docker-compose &> /dev/null; then
echo "错误: Docker Compose安装失败,请手动安装"
exit 1
fi
echo "Docker Compose安装成功"
fi
# 创建项目目录
echo "创建项目目录..."
mkdir -p /opt/project_app/logs /opt/project_app/uploads /opt/project_app/mysql-data
# 克隆代码仓库或更新代码
echo "处理代码仓库..."
if [ ! -d /opt/project_app/.git ]; then
# 如果目录不存在.git文件夹,则克隆仓库
git clone http://8.137.125.67:4000/Swt29/Project_app.git /opt/project_app
else
# 如果目录已存在.git文件夹,则更新代码
cd /opt/project_app
git pull origin BOSS
fi
cd /opt/project_app
# 检查.env文件是否存在
echo "检查环境变量配置..."
if [ ! -f .env ]; then
echo "警告: .env文件不存在,请手动配置环境变量"
echo "可以参考.env.example文件创建.env文件"
else
echo ".env文件已存在,跳过配置步骤"
fi
# 构建Docker镜像
echo "构建Docker镜像..."
docker-compose build
# 启动服务
echo "启动服务..."
docker-compose up -d
echo "部署完成!服务已启动并在后台运行。"
echo "使用以下命令查看服务状态:docker-compose ps"
echo "使用以下命令查看日志:docker-compose logs -f"