ci: 添加 Epic UI 构建和部署工作流

- 新增 CI/CD 工作流文件,实现前端项目的自动构建和部署
- 支持 main、master 和 develop 分支的自动构建- 包含代码检出、环境安装、依赖管理、项目构建等步骤
- 实现构建产物的自动部署和 Docker 容器重启
This commit is contained in:
hu xiaotong
2025-07-07 14:31:55 +08:00
parent 7ded5291c6
commit f360c0f140

View File

@@ -117,11 +117,36 @@ jobs:
run: | run: |
echo "📦 设置 pnpm 缓存目录..." echo "📦 设置 pnpm 缓存目录..."
export PATH=$PATH:/usr/local/bin export PATH=$PATH:/usr/local/bin
mkdir -p /tmp/pnpm-cache
pnpm config set store-dir /tmp/pnpm-cache # 尝试多个可能的挂载点
echo "缓存目录: $(pnpm store path)" CACHE_DIRS=("/shared/pnpm-cache" "/opt/pnpm-cache" "/mnt/pnpm-cache" "/tmp/pnpm-cache")
echo "缓存状态:" CACHE_DIR=""
pnpm store status || echo "首次运行,无缓存"
for dir in "${CACHE_DIRS[@]}"; do
if [ -d "$dir" ] && [ -w "$dir" ]; then
CACHE_DIR="$dir"
echo "✅ 找到可写缓存目录: $dir"
break
fi
done
if [ -z "$CACHE_DIR" ]; then
echo "⚠️ 未找到外部缓存目录,使用临时目录"
CACHE_DIR="/tmp/pnpm-cache"
mkdir -p "$CACHE_DIR"
fi
pnpm config set store-dir "$CACHE_DIR"
echo "使用缓存目录: $(pnpm store path)"
# 检查缓存状态
if [ -d "$CACHE_DIR/v10" ]; then
echo "✅ 找到外部缓存"
du -sh "$CACHE_DIR"
echo "缓存文件数量: $(find "$CACHE_DIR" -type f | wc -l)"
else
echo "📥 首次运行,无缓存"
fi
- name: 缓存依赖 - name: 缓存依赖
shell: bash shell: bash
@@ -132,11 +157,15 @@ jobs:
# 记录开始时间 # 记录开始时间
START_TIME=$(date +%s) START_TIME=$(date +%s)
# 使用外部缓存时的优化
echo "📦 使用外部缓存优化..."
pnpm config set prefer-offline true
# 检查 lockfile 是否存在 # 检查 lockfile 是否存在
if [ -f "pnpm-lock.yaml" ]; then if [ -f "pnpm-lock.yaml" ]; then
echo "✅ 找到 pnpm-lock.yaml使用离线模式安装..." echo "✅ 找到 pnpm-lock.yaml使用离线模式安装..."
echo "开始时间: $(date)" echo "开始时间: $(date)"
pnpm install --frozen-lockfile --prefer-offline pnpm install --frozen-lockfile
else else
echo "📥 未找到 lockfile重新安装依赖..." echo "📥 未找到 lockfile重新安装依赖..."
echo "开始时间: $(date)" echo "开始时间: $(date)"