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

- 新增 CI/CD 工作流文件,实现前端项目的自动构建和部署
- 支持 main、master 和 develop 分支的自动构建- 包含代码检出、环境安装、依赖管理、项目构建等步骤
- 实现构建产物的自动部署和 Docker 容器重启
This commit is contained in:
hu xiaotong
2025-07-07 15:26:36 +08:00
parent 87b30dee86
commit ed20015e8b

View File

@@ -185,6 +185,24 @@ jobs:
echo "📥 首次运行,无缓存" echo "📥 首次运行,无缓存"
fi fi
- name: 输出 pnpm 缓存目录内容
shell: bash
run: |
echo "📂 输出 pnpm 缓存目录内容..."
CACHE_DIR="/shared/pnpm-cache"
if [ -d "$CACHE_DIR" ]; then
echo "--- $CACHE_DIR 内容 ---"
ls -lAh "$CACHE_DIR"
if [ -d "$CACHE_DIR/v10" ]; then
echo "--- $CACHE_DIR/v10 内容 ---"
ls -lAh "$CACHE_DIR/v10"
else
echo "$CACHE_DIR/v10 不存在"
fi
else
echo "$CACHE_DIR 不存在"
fi
- name: 缓存依赖 - name: 缓存依赖
shell: bash shell: bash
run: | run: |
@@ -287,31 +305,31 @@ jobs:
cp -r dist/* deploy/ cp -r dist/* deploy/
echo "📦 部署包已准备完成" echo "📦 部署包已准备完成"
- name: 复制构建产物到目标目录 # - name: 复制构建产物到目标目录
shell: bash # shell: bash
run: | # run: |
echo "📤 复制构建产物到 /opt/dockeropt/epic-ui ..." # echo "📤 复制构建产物到 /opt/dockeropt/epic-ui ..."
mkdir -p /opt/dockeropt/epic-ui # mkdir -p /opt/dockeropt/epic-ui
cp -r dist/* /opt/dockeropt/epic-ui/ # cp -r dist/* /opt/dockeropt/epic-ui/
echo "✅ 构建产物已复制到 /opt/dockeropt/epic-ui" # echo "✅ 构建产物已复制到 /opt/dockeropt/epic-ui"
ls -la /opt/dockeropt/epic-ui/ # ls -la /opt/dockeropt/epic-ui/
- name: 重启 Docker 容器 # - name: 重启 Docker 容器
shell: bash # shell: bash
run: | # run: |
echo "♻️ 重启 epic-ui 容器..." # echo "♻️ 重启 epic-ui 容器..."
if ! command -v docker &> /dev/null; then # if ! command -v docker &> /dev/null; then
if command -v apt-get &> /dev/null; then # if command -v apt-get &> /dev/null; then
apt-get update && apt-get install -y docker.io # apt-get update && apt-get install -y docker.io
elif command -v apk &> /dev/null; then # elif command -v apk &> /dev/null; then
echo "http://mirrors.aliyun.com/alpine/v3.20/main" > /etc/apk/repositories # echo "http://mirrors.aliyun.com/alpine/v3.20/main" > /etc/apk/repositories
echo "http://mirrors.aliyun.com/alpine/v3.20/community" >> /etc/apk/repositories # echo "http://mirrors.aliyun.com/alpine/v3.20/community" >> /etc/apk/repositories
apk update # apk update
apk add --no-cache docker-cli # apk add --no-cache docker-cli
elif command -v yum &> /dev/null; then # elif command -v yum &> /dev/null; then
yum install -y docker # yum install -y docker
fi # fi
fi # fi
docker ps -a # docker ps -a
docker restart epic-ui # docker restart epic-ui
echo "✅ epic-ui 容器已重启" # echo "✅ epic-ui 容器已重启"