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

- 新增 CI/CD 工作流文件,实现前端项目的自动构建和部署
- 支持 main、master 和 develop 分支的自动构建- 包含代码检出、环境安装、依赖管理、项目构建等步骤
- 实现构建产物的自动部署和 Docker 容器重启
This commit is contained in:
hu xiaotong
2025-07-08 13:09:05 +08:00
parent 8db181a615
commit 33c8b6d38b
2 changed files with 71 additions and 4 deletions

View File

@@ -100,9 +100,15 @@ docker run -d \
- **宿主机路径**: `/opt/gitea-runner-cache`
- **容器内路径**: `/opt/hostedtoolcache`
- **缓存内容**:
- `node_modules_*.tar.gz`: 项目依赖缓存
- `node_modules_*.tar.gz`: 项目依赖缓存基于pnpm-lock.yaml哈希
- `pnpm-store/`: pnpm 全局缓存
- `build-cache/`: 构建产物缓存
- `pnpm-cache/`: pnpm 缓存目录
### 生产环境目录
- **宿主机路径**: `/opt/1panel/apps/openresty/openresty/www/sites/epic7`
- **容器内路径**: `/opt/prod`
- **用途**: nginx静态文件服务目录
### 设置缓存目录
@@ -152,7 +158,29 @@ pnpm build
1. 代码推送到 main/master 分支触发构建
2. 自动安装依赖(使用缓存加速)
3. 构建生产版本
4. 部署到目标服务器
4. 部署到nginx静态文件目录
### 部署配置
项目构建产物会自动部署到nginx静态文件目录
- **宿主机路径**: `/opt/1panel/apps/openresty/openresty/www/sites/epic7`
- **容器内路径**: `/opt/prod`
- **部署方式**: 直接覆盖nginx静态文件目录
- **备份策略**: 部署前自动备份当前版本
#### 部署流程
1. **构建**: 在容器内执行 `pnpm build` 生成 `dist/` 目录
2. **备份**: 备份当前生产环境文件(如果存在)
3. **部署**: 清空nginx目录并复制构建产物
4. **权限设置**: 设置文件权限为755
#### 访问方式
部署完成后可以通过nginx访问
- 本地访问: `http://localhost`
- 域名访问: 根据nginx配置的域名
### 构建产物