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