# CI/CD 流水线架构 ## 1. 身份与目的 - **名称:** xxxigcc-proxy 自动化构建和发布流水线 - **目的:** 自动化构建、测试和发布跨平台二进制包和 Debian 安装包 ## 2. 核心组件 ### 2.1 构建作业 (build-and-test) `架构路径:.gitea/workflows/ci.yaml:15-93` #### 主要职责 - 多架构(amd64、arm64)构建 - 多发行版(Ubuntu、Alpine)构建 - 构建二进制文件 - 打包 tar.gz 文件 - 构建 Debian 安装包 - 上传构建产物 #### 关键步骤 1. 代码检出 2. 设置 Docker Buildx 3. 构建二进制文件(`docker buildx build`) 4. 打包和测试(创建 tar.gz) 5. 构建 Debian 包(仅 Ubuntu) 6. 上传构建产物 ### 2.2 发布作业 (release) `架构路径:.gitea/workflows/ci.yaml:95-212` #### 主要职责 - 下载构建产物 - 上传包到包管理器 - 创建 GitHub/Gitea Release - 生成发布说明 - 上传发布附件 #### 关键步骤 1. 下载构建产物 2. 上传到 Generic Package Registry 3. 上传到 Debian Package Registry 4. 创建 Release 5. 上传 Release 附件 ## 3. 设计原理 ### 多架构构建 - 使用 Docker Buildx 实现跨平台构建 - 支持 AMD64 和 ARM64 架构 - 针对不同架构和发行版生成独立构建 ### 包管理策略 - Generic Package Registry:存储 tar.gz 包 - Debian Package Registry:使用通用 `stable` 发行版,支持所有 Debian/Ubuntu 发行版 - 自动生成安装和下载说明 ## 4. 触发机制 - 代码推送到 main/develop 分支 - 标签(Tag)推送时触发发布流程