ci: 添加 Epic UI 构建和部署工作流
- 新增 CI/CD 工作流文件,实现前端项目的自动构建和部署 - 支持 main、master 和 develop 分支的自动构建- 包含代码检出、环境安装、依赖管理、项目构建等步骤 - 实现构建产物的自动部署和 Docker 容器重启
This commit is contained in:
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user