本文档正在积极开发中,尚未最终定稿。
Skip to content

9.2 发布策略

9.2.1 双重发布概念

原则

唯一事实来源 = 产品的 Git 仓库 公开展示 = 中央合规网站

合规数据只在一个地方维护——各产品的仓库中。从那里自动发布到中央合规网站。

text
┌────────────────────┐                ┌──────────────────────────┐
│  产品仓库           │     CI/CD      │  生成的制品               │
│                    │                │                          │
│  .compliance/      │   验证         │  ┌── 合规门户             │
│    cra-statement.  │──────────────→│  │   (HTML/PDF)           │
│    json            │   + 生成       │  ├── CE 标志              │
│                    │                │  │   (关于对话框、README)  │
│  (唯一来源)        │                │  ├── 容器标签             │
│                    │                │  │   (OCI 注解)           │
│                    │                │  ├── 简化 DoC             │
│                    │                │  └── API 端点             │
└────────────────────┘                └──────────────────────────┘
        ↑                                       ↑
   开发人员仅维护                       客户、当局、
   JSON 文件                           公众

9.2.2 优势

方面优势
版本控制声明与产品代码一起版本化
审查更改经过与代码相同的审查流程
自动化发布时自动发布
一致性JSON Schema 在所有产品中强制统一格式
审计跟踪Git 历史记录每次更改

9.2.3 仓库结构

每个产品仓库包含一个 .compliance/ 目录:

text
product-repo/
├── .compliance/
│   ├── cra-statement.json          # 机器可读的 CRA 声明
│   └── README.md                   # 合规结构简要说明
├── SECURITY.md                     # 漏洞披露政策
├── docs/
│   └── compliance/
│       ├── eu-declaration.pdf      # 欧盟符合性声明 (Annex V)
│       └── user-info.md            # 用户信息 (Annex II)
└── ...

文件详情

文件必需描述
.compliance/cra-statement.json✅ 是机器可读的 CRA 合规声明(→ 9.3
.compliance/README.md推荐向开发人员解释合规结构
SECURITY.md✅ 是漏洞披露政策(→ 4.2
docs/compliance/eu-declaration.pdf✅ 是具有法律约束力的欧盟符合性声明
docs/compliance/user-info.md✅ 是根据 Annex II 的用户信息

9.2.4 网站 URL 方案

中央合规门户遵循统一的 URL 结构:

text
https://cra.app.bauer-group.com/
├── /products/                      # 产品目录
│   ├── /products/{name}/           # 产品合规页面
│   │   ├── /cra                    # CRA 合规声明
│   │   ├── /doc                    # 欧盟符合性声明
│   │   └── /sbom                   # SBOM 下载
│   └── ...
└── /api/                           # (可选)当局 API 访问
    └── /api/products/{name}.json   # 机器可读访问

9.2.5 可访问性

信息公开内部CRA 参考
CRA 合规声明Art. 13
欧盟符合性声明Art. 28
简化 DoCAnnex VI
用户信息 (Annex II)Art. 13
SBOM应要求提供Annex I, 第二部分
技术文档 (Annex VII)Art. 31
合规评估记录Art. 28

注意

完整的技术文档 (Annex VII) 需要公开提供,但必须在市场监督当局要求后 10 天内提交(Art. 31 CRA)。

9.2.6 CI/CD 集成

发布集成到现有的 CI/CD 管道中:

text
创建发布标签

    ├── 1. JSON Schema 验证 (.compliance/cra-statement.json)
    │       → 失败 = 阻止发布

    ├── 2. 完整性检查
    │       → 所有必填字段是否已填写?
    │       → 引用的文档(DoC、SBOM)是否存在?

    ├── 3. 发布到合规门户
    │       → 生成 HTML
    │       → 生成 PDF(可选)

    └── 4. 通知
            → Slack/Teams:"产品 {product} v{version} 的合规声明已发布"

9.2.7 交叉引用

主题链接
JSON Schema 定义9.3 机器可读格式
更新流程9.4 维护与更新
SBOM 归档2.3 归档与保留
可填写模板A.9 CRA 合规声明

文档基于 CC BY-NC 4.0 许可 · 代码基于 MIT 许可