ci-pipeline-designlisted
Install: claude install-skill structure-projects/structure-agent-rules
# CI/CD 流水线设计
> 按生态三件套模板生成 GitHub Actions 流水线。**MUST 手动触发,禁止自动发布**。
## 前置条件
- 项目已有 Dockerfile(`dockerfile-writing` 技能产出)
- 已确定镜像仓库 / npm scope / Maven 仓库
## 执行步骤
### 第 1 步:确定流水线需求
**MUST 询问用户**:
```
Q1: 项目类型?
a) 后端 Java(需要 build-and-push + release-maven)
b) 前端(需要 build-and-push)
c) npm 组件库(需要 publish-npm)
d) 全栈(三件套都需要)
Q2: 镜像仓库?
默认:registry.cn-hangzhou.aliyuncs.com/structured
Q3: 是否发布到 Maven Central / npmjs?
a) 是
b) 否(仅构建 Docker 镜像)
```
### 第 2 步:生成对应 workflow
按用户选择生成对应的 `.github/workflows/*.yml` 文件。
**模板来源**:`wiki/_common/ci-cd-pipeline.md` 中的三件套模板。
**关键替换**:
- `structure-${{ inputs.module }}` → 实际项目路径
- `structure-${{ inputs.component }}` → 实际组件路径
- Secrets 名称 → 保持不变(约定俗成)
### 第 3 步:配置 Secrets
**MUST 告诉用户需要配置哪些 Secrets**:
```bash
# 通过 gh CLI 设置
gh secret set ALIYUN_ACR_USERNAME --body "..."
gh secret set ALIYUN_ACR_PASSWORD --body "..."
gh secret set OSSRH_USERNAME --body "..." # Java 项目
gh secret set OSSRH_PASSWORD --body "..." # Java 项目
gh secret set GPG_PRIVATE_KEY --body "..." # Java 项目
gh secret set GPG_PASSPHRASE --body "..." # Java 项目
gh secret set NPM_TOKEN --body "..." # npm 项目
```
### 第 4 步:验证流水线
```bash
# 本地验证 yaml 语法
yamllint .github/workflows/*.yml
# 提交并推送
git add .github/workflows/
git commit -m "ci(workflows): 新增三件套流水线"
git push
# 手动触发验证
gh workflow run build-and-push.yml -f module=<module> -f version=<version>
```
### 第 5 步:监控运行
```bash
gh run list
gh run view <run-id>
g