From f360c0f140a7cc744d1fce2304d6bdd88af4b18a Mon Sep 17 00:00:00 2001 From: hu xiaotong <416314413@163.com> Date: Mon, 7 Jul 2025 14:31:55 +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 | 41 ++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 2a2597f..844dbdd 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -117,11 +117,36 @@ jobs: run: | echo "📦 设置 pnpm 缓存目录..." export PATH=$PATH:/usr/local/bin - mkdir -p /tmp/pnpm-cache - pnpm config set store-dir /tmp/pnpm-cache - echo "缓存目录: $(pnpm store path)" - echo "缓存状态:" - pnpm store status || echo "首次运行,无缓存" + + # 尝试多个可能的挂载点 + CACHE_DIRS=("/shared/pnpm-cache" "/opt/pnpm-cache" "/mnt/pnpm-cache" "/tmp/pnpm-cache") + CACHE_DIR="" + + 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: 缓存依赖 shell: bash @@ -132,11 +157,15 @@ jobs: # 记录开始时间 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 --prefer-offline + pnpm install --frozen-lockfile else echo "📥 未找到 lockfile,重新安装依赖..." echo "开始时间: $(date)"