ci: 添加 Epic UI 构建和部署工作流
- 新增 CI/CD 工作流文件,实现前端项目的自动构建和部署 - 支持 main、master 和 develop 分支的自动构建- 包含代码检出、环境安装、依赖管理、项目构建等步骤 - 实现构建产物的自动部署和 Docker 容器重启
This commit is contained in:
@@ -185,6 +185,20 @@ jobs:
|
||||
echo "📥 首次运行,无缓存"
|
||||
fi
|
||||
|
||||
- name: 检测 pnpm 缓存目录是否为持久化挂载
|
||||
shell: bash
|
||||
run: |
|
||||
echo "🔍 检测 $CACHE_DIR 是否为持久化挂载..."
|
||||
CACHE_DIR="/shared/pnpm-cache"
|
||||
if mountpoint -q "$CACHE_DIR"; then
|
||||
echo "✅ $CACHE_DIR 是挂载点(持久化卷)"
|
||||
else
|
||||
echo "⚠️ $CACHE_DIR 不是挂载点,可能不是持久化卷"
|
||||
fi
|
||||
echo "挂载信息:"
|
||||
df -h "$CACHE_DIR" || true
|
||||
mount | grep "$CACHE_DIR" || true
|
||||
|
||||
- name: 输出 pnpm 缓存目录内容
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -208,49 +222,11 @@ jobs:
|
||||
run: |
|
||||
echo "📦 检查并恢复依赖缓存..."
|
||||
export PATH=$PATH:/usr/local/bin
|
||||
|
||||
# 记录开始时间
|
||||
START_TIME=$(date +%s)
|
||||
|
||||
# 使用外部缓存时的优化
|
||||
echo "📦 使用外部缓存优化..."
|
||||
pnpm config set prefer-offline true
|
||||
|
||||
# 检查 lockfile 是否存在
|
||||
if [ -f "pnpm-lock.yaml" ]; then
|
||||
echo "✅ 找到 pnpm-lock.yaml,使用离线模式安装..."
|
||||
echo "开始时间: $(date)"
|
||||
pnpm install --frozen-lockfile
|
||||
else
|
||||
echo "📥 未找到 lockfile,重新安装依赖..."
|
||||
echo "开始时间: $(date)"
|
||||
pnpm install
|
||||
fi
|
||||
|
||||
# 记录结束时间
|
||||
END_TIME=$(date +%s)
|
||||
DURATION=$((END_TIME - START_TIME))
|
||||
|
||||
# 保存缓存信息
|
||||
echo "📊 安装统计:"
|
||||
echo "总耗时: ${DURATION}秒"
|
||||
echo "缓存目录: $(pnpm store path)"
|
||||
echo "缓存大小: $(du -sh $(pnpm store path) 2>/dev/null || echo 'N/A')"
|
||||
|
||||
# 检查缓存是否写入到外部目录
|
||||
echo "🔍 检查外部缓存写入..."
|
||||
if [ -d "/shared/pnpm-cache/v10" ]; then
|
||||
echo "✅ 外部缓存写入成功"
|
||||
du -sh /shared/pnpm-cache
|
||||
echo "缓存文件数量: $(find /shared/pnpm-cache -type f | wc -l)"
|
||||
else
|
||||
echo "❌ 外部缓存写入失败"
|
||||
echo "检查 pnpm 实际使用的缓存目录:"
|
||||
pnpm store path
|
||||
echo "检查外部目录内容:"
|
||||
ls -la /shared/pnpm-cache/
|
||||
fi
|
||||
|
||||
echo "✅ 依赖安装完成"
|
||||
|
||||
- name: 验证依赖
|
||||
|
||||
Reference in New Issue
Block a user