04 草稿与发布
结构发布后,各分支在「草稿」页签填写/修改值。修改走 草稿 → 保存 → 校验 → 发布(不可变版本) 闭环。
4.1 草稿页

草稿页按已发布结构全量展示配置项:
| 元素 | 说明 |
|---|---|
| 普通配置项 | 输入框 / 下拉直接编辑(类型化控件) |
| 引用共享项 | 只读,显示「引用共享」徽章 + 物化值(见 03 §3.3) |
| secret 项 | 密码框,留空不修改;已加密显示占位 |
| 未保存 / 草稿未发布徽章 | 实时提示当前界面有多少未保存修改、多少已保存未发布 |
| 活动版本标记 | 无草稿值时输入框显示已发布版本的值(发布后草稿清空也不会是空框) |
4.2 保存草稿
点「保存草稿」:
- 有值的输入框 → upsert 到草稿
- 原草稿有值、输入框被清空 → 删除该草稿值
- secret 留空 = 不修改(保留原密文)
- 携带乐观锁
draft_rev:若草稿已被他人修改,返回 409 并提示「已加载最新版本」
4.3 发布版本
点「发布版本」→ 输入备注 → 发布:
- 发布前执行完整性校验:required 项必须有值、类型匹配、共享引用已发布等
- 校验失败默认
block(拒绝发布,列出错误);--publish-policy warn可改为仅警告 - 发布生成不可变版本(版本号单调递增),并广播变更事件(订阅的 SDK 实时收到)
- 发布后草稿清空,草稿页显示刚发布版本的值(活动版本基线)
发布前可点「查看配置」预览将发布的文档(YAML / JSON / TOML / ENV 格式,勾选明文显示可解密 secret 并记录审计):

4.4 版本历史与回滚
「版本历史」页签列出该分支全部版本:

- 每个版本:版本号、类型(value_publish / structure_publish / shared_cascade / rollback)、备注、操作人、时间
- 回滚:基于旧版本内容创建新版本(历史不可变,回滚也是新版本)
4.5 多分支协作提示
- 结构变化(新增/删除配置项)会同时推进所有分支的版本
- 分支间「值提升」见 02 §2.4
- 不同分支互不影响,同一分支多人编辑时靠草稿修订号乐观锁防冲突
下一步
- 05 灰度发布:按标签 / IP / 百分比灰度上线
Defing 配置中心 · 使用教程(截图来自测试实例 http://172.16.48.71:18384)