From 72013fe803801a3d9505ee19745821927e6e2803 Mon Sep 17 00:00:00 2001 From: hu xiaotong <416314413@163.com> Date: Tue, 8 Jul 2025 13:10:46 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0=20Epic=20UI=20?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E5=92=8C=E9=83=A8=E7=BD=B2=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 CI/CD 工作流文件,实现前端项目的自动构建和部署 - 支持 main、master 和 develop 分支的自动构建- 包含代码检出、环境安装、依赖管理、项目构建等步骤 - 实现构建产物的自动部署和 Docker 容器重启 --- .gitea/workflows/ci.yaml | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index f5a3983..c69f7fb 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -233,6 +233,19 @@ jobs: exit 1 fi + echo "📦 构建产物内容:" + ls -la dist/ + + # 检查生产目录挂载 + echo "📁 检查生产目录挂载状态..." + if [ -d "$PROD_DIR" ]; then + echo "✅ 生产目录已存在: $PROD_DIR" + echo "📁 当前生产目录内容:" + ls -la "$PROD_DIR" 2>/dev/null || echo "目录为空或无法访问" + else + echo "📁 生产目录不存在,将创建: $PROD_DIR" + fi + # 备份当前生产环境 if [ -d "$PROD_DIR" ] && [ "$(ls -A "$PROD_DIR" 2>/dev/null)" ]; then BACKUP_DIR="/opt/prod_backup_$(date +%Y%m%d_%H%M%S)" @@ -240,10 +253,22 @@ jobs: cp -r "$PROD_DIR" "$BACKUP_DIR" fi - # 清空生产目录并复制构建产物 + # 确保生产目录存在并清空 echo "📤 部署构建产物到nginx静态文件目录..." + mkdir -p "$PROD_DIR" rm -rf "$PROD_DIR"/* - cp -r dist/* "$PROD_DIR/" + + # 复制构建产物到生产环境 + echo "📦 复制构建产物..." + if cp -r dist/* "$PROD_DIR/"; then + echo "✅ 构建产物复制成功" + else + echo "❌ 构建产物复制失败" + echo "📁 检查目标目录权限和空间..." + df -h "$PROD_DIR" 2>/dev/null || echo "无法检查磁盘空间" + ls -ld "$PROD_DIR" 2>/dev/null || echo "无法检查目录权限" + exit 1 + fi # 设置权限 chmod -R 755 "$PROD_DIR"