From e74124e615a8d41a64de89cc1a76daafc3fc2671 Mon Sep 17 00:00:00 2001 From: hu xiaotong <416314413@163.com> Date: Tue, 8 Jul 2025 12:11:58 +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 | 110 +++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 2cb5af6..6ff073d 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -12,8 +12,8 @@ jobs: container: image: gitea-ci-bash:latest env: - # 指定容器将工具缓存路径存放到 /opt/hostedtoolcache,该目录是Gitea Runner的标准工具缓存目录 -# RUNNER_TOOL_CACHE: /opt/hostedtoolcache + # 指定容器将工具缓存路径存放到 /opt/hostedtoolcache2,该目录是Gitea Runner的标准工具缓存目录 +# RUNNER_TOOL_CACHE: /opt/hostedtoolcache2 steps: - name: 检出代码 shell: bash @@ -119,8 +119,8 @@ jobs: shell: bash run: | echo "🔍 检查缓存目录权限和状态..." - echo "=== /opt/hostedtoolcache 目录检查 ===" - ls -la /opt/hostedtoolcache/ 2>/dev/null || echo "/opt/hostedtoolcache 目录不存在或无法访问" + echo "=== /opt/hostedtoolcache2 目录检查 ===" + ls -la /opt/hostedtoolcache2/ 2>/dev/null || echo "/opt/hostedtoolcache2 目录不存在或无法访问" echo "=== /shared/cache 目录检查 ===" ls -la /shared/cache/ 2>/dev/null || echo "/shared/cache 目录不存在或无法访问" echo "=== /tmp 目录检查 ===" @@ -132,51 +132,51 @@ jobs: - name: 配置hostedtoolcache缓存目录 shell: bash run: | - echo "🔧 配置 /opt/hostedtoolcache 缓存目录..." + echo "🔧 配置 /opt/hostedtoolcache2 缓存目录..." - # 检查 /opt/hostedtoolcache 目录 - if [ ! -d "/opt/hostedtoolcache" ]; then - echo "📁 /opt/hostedtoolcache 目录不存在,尝试创建..." - if mkdir -p "/opt/hostedtoolcache" 2>/dev/null; then - echo "✅ /opt/hostedtoolcache 目录创建成功" + # 检查 /opt/hostedtoolcache2 目录 + if [ ! -d "/opt/hostedtoolcache2" ]; then + echo "📁 /opt/hostedtoolcache2 目录不存在,尝试创建..." + if mkdir -p "/opt/hostedtoolcache2" 2>/dev/null; then + echo "✅ /opt/hostedtoolcache2 目录创建成功" else - echo "❌ /opt/hostedtoolcache 目录创建失败" + echo "❌ /opt/hostedtoolcache2 目录创建失败" exit 1 fi fi # 检查目录权限 - if [ -w "/opt/hostedtoolcache" ]; then - echo "✅ /opt/hostedtoolcache 目录可写" + if [ -w "/opt/hostedtoolcache2" ]; then + echo "✅ /opt/hostedtoolcache2 目录可写" # 设置权限 - chmod 755 "/opt/hostedtoolcache" 2>/dev/null || echo "⚠️ 无法设置权限" + chmod 755 "/opt/hostedtoolcache2" 2>/dev/null || echo "⚠️ 无法设置权限" # 创建测试文件 - TEST_FILE="/opt/hostedtoolcache/test_write_$(date +%s)" + TEST_FILE="/opt/hostedtoolcache2/test_write_$(date +%s)" if touch "$TEST_FILE" 2>/dev/null; then - echo "✅ /opt/hostedtoolcache 写入测试成功" + echo "✅ /opt/hostedtoolcache2 写入测试成功" rm -f "$TEST_FILE" - echo "CACHE_DIR=/opt/hostedtoolcache" >> $GITHUB_ENV + echo "CACHE_DIR=/opt/hostedtoolcache2" >> $GITHUB_ENV else - echo "❌ /opt/hostedtoolcache 写入测试失败" + echo "❌ /opt/hostedtoolcache2 写入测试失败" exit 1 fi else - echo "❌ /opt/hostedtoolcache 目录不可写" + echo "❌ /opt/hostedtoolcache2 目录不可写" echo "🔧 尝试修改目录权限..." - chmod 755 "/opt/hostedtoolcache" 2>/dev/null || echo "⚠️ 无法修改权限" - if [ -w "/opt/hostedtoolcache" ]; then + chmod 755 "/opt/hostedtoolcache2" 2>/dev/null || echo "⚠️ 无法修改权限" + if [ -w "/opt/hostedtoolcache2" ]; then echo "✅ 权限修改成功" - echo "CACHE_DIR=/opt/hostedtoolcache" >> $GITHUB_ENV + echo "CACHE_DIR=/opt/hostedtoolcache2" >> $GITHUB_ENV else - echo "❌ 无法获得 /opt/hostedtoolcache 写入权限" + echo "❌ 无法获得 /opt/hostedtoolcache2 写入权限" exit 1 fi fi - echo "📊 缓存目录配置: /opt/hostedtoolcache" + echo "📊 缓存目录配置: /opt/hostedtoolcache2" echo "📁 目录内容:" - ls -la /opt/hostedtoolcache/ 2>/dev/null || echo "目录为空或无法访问" + ls -la /opt/hostedtoolcache2/ 2>/dev/null || echo "目录为空或无法访问" - name: 恢复依赖缓存 shell: bash @@ -187,8 +187,8 @@ jobs: CACHE_KEY=$(md5sum pnpm-lock.yaml | cut -d' ' -f1) echo "缓存键: $CACHE_KEY" - # 使用 /opt/hostedtoolcache 目录 - CACHE_FILE="/opt/hostedtoolcache/node_modules_${CACHE_KEY}.tar.gz" + # 使用 /opt/hostedtoolcache2 目录 + CACHE_FILE="/opt/hostedtoolcache2/node_modules_${CACHE_KEY}.tar.gz" echo "📁 检查缓存文件: $CACHE_FILE" if [ -f "$CACHE_FILE" ]; then @@ -265,8 +265,8 @@ jobs: exit 0 fi - # 保存到 /opt/hostedtoolcache 目录 - CACHE_FILE="/opt/hostedtoolcache/node_modules_${CACHE_KEY}.tar.gz" + # 保存到 /opt/hostedtoolcache2 目录 + CACHE_FILE="/opt/hostedtoolcache2/node_modules_${CACHE_KEY}.tar.gz" echo "📦 正在创建缓存文件: $CACHE_FILE" if tar -czf "$CACHE_FILE" node_modules; then @@ -275,12 +275,12 @@ jobs: echo "📅 缓存文件创建时间: $(stat -c %y "$CACHE_FILE")" # 显示缓存目录内容 - echo "🔍 /opt/hostedtoolcache 目录内容:" - ls -la /opt/hostedtoolcache/ | head -10 + echo "🔍 /opt/hostedtoolcache2 目录内容:" + ls -la /opt/hostedtoolcache2/ | head -10 # 创建测试文件验证写入权限 echo "🧪 创建测试文件验证写入权限..." - TEST_FILE="/opt/hostedtoolcache/test_file_$(date +%s).txt" + TEST_FILE="/opt/hostedtoolcache2/test_file_$(date +%s).txt" echo "测试时间: $(date)" > "$TEST_FILE" if [ -f "$TEST_FILE" ]; then echo "✅ 测试文件创建成功: $TEST_FILE" @@ -306,7 +306,7 @@ jobs: echo "挂载点信息:" mount | grep hostedtoolcache || echo "未找到hostedtoolcache挂载点" echo "磁盘使用情况:" - df -h /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache磁盘信息" + df -h /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2磁盘信息" echo "---" # 每5秒检查一次缓存状态,持续60秒 @@ -314,11 +314,11 @@ jobs: echo "=== 第 $i 次检查 (第 $((i*5)) 秒) ===" echo "时间: $(date)" - echo "📁 /opt/hostedtoolcache 目录详细信息:" - echo "目录权限: $(ls -ld /opt/hostedtoolcache 2>/dev/null || echo '无法获取权限')" - echo "目录所有者: $(stat -c '%U:%G' /opt/hostedtoolcache 2>/dev/null || echo '无法获取所有者')" + echo "📁 /opt/hostedtoolcache2 目录详细信息:" + echo "目录权限: $(ls -ld /opt/hostedtoolcache2 2>/dev/null || echo '无法获取权限')" + echo "目录所有者: $(stat -c '%U:%G' /opt/hostedtoolcache2 2>/dev/null || echo '无法获取所有者')" echo "目录内容:" - ls -la /opt/hostedtoolcache/ 2>/dev/null | head -10 || echo "无法访问 /opt/hostedtoolcache" + ls -la /opt/hostedtoolcache2/ 2>/dev/null | head -10 || echo "无法访问 /opt/hostedtoolcache2" if [ -f "$CACHE_FILE" ]; then echo "✅ 缓存文件存在: $CACHE_FILE" @@ -413,7 +413,7 @@ jobs: cp -r dist/* deploy/ echo "📦 部署包已准备完成" - - name: 验证 /opt/hostedtoolcache 挂载情况(开始) + - name: 验证 /opt/hostedtoolcache2 挂载情况(开始) shell: bash run: | echo "==== [挂载点检查-开始] ====" @@ -423,17 +423,17 @@ jobs: echo "工作目录: $(pwd)" echo "[mount | grep hostedtoolcache] 输出:" mount | grep hostedtoolcache || echo "未找到hostedtoolcache挂载点" - echo "[df -h /opt/hostedtoolcache] 输出:" - df -h /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache磁盘信息" - echo "[ls -ld /opt/hostedtoolcache] 输出:" - ls -ld /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache权限" - echo "[stat /opt/hostedtoolcache] 输出:" - stat /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache stat" - echo "[ls -lai /opt/hostedtoolcache] 输出:" - ls -lai /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache内容" + echo "[df -h /opt/hostedtoolcache2] 输出:" + df -h /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2磁盘信息" + echo "[ls -ld /opt/hostedtoolcache2] 输出:" + ls -ld /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2权限" + echo "[stat /opt/hostedtoolcache2] 输出:" + stat /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2 stat" + echo "[ls -lai /opt/hostedtoolcache2] 输出:" + ls -lai /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2内容" echo "==== [挂载点检查-开始] ====" - - name: 验证 /opt/hostedtoolcache 挂载情况(保存缓存后) + - name: 验证 /opt/hostedtoolcache2 挂载情况(保存缓存后) shell: bash run: | echo "==== [挂载点检查-保存缓存后] ====" @@ -443,14 +443,14 @@ jobs: echo "工作目录: $(pwd)" echo "[mount | grep hostedtoolcache] 输出:" mount | grep hostedtoolcache || echo "未找到hostedtoolcache挂载点" - echo "[df -h /opt/hostedtoolcache] 输出:" - df -h /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache磁盘信息" - echo "[ls -ld /opt/hostedtoolcache] 输出:" - ls -ld /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache权限" - echo "[stat /opt/hostedtoolcache] 输出:" - stat /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache stat" - echo "[ls -lai /opt/hostedtoolcache] 输出:" - ls -lai /opt/hostedtoolcache 2>/dev/null || echo "无法获取/opt/hostedtoolcache内容" + echo "[df -h /opt/hostedtoolcache2] 输出:" + df -h /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2磁盘信息" + echo "[ls -ld /opt/hostedtoolcache2] 输出:" + ls -ld /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2权限" + echo "[stat /opt/hostedtoolcache2] 输出:" + stat /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2 stat" + echo "[ls -lai /opt/hostedtoolcache2] 输出:" + ls -lai /opt/hostedtoolcache2 2>/dev/null || echo "无法获取/opt/hostedtoolcache2内容" echo "==== [挂载点检查-保存缓存后] ====" # - name: 复制构建产物到目标目录