docs: prepare v0.1.0 remote SDK integration release
This commit is contained in:
@@ -144,17 +144,30 @@ Options.HTTPClient 可注入专用 HTTP 客户端。SDK 复制配置,不修改
|
||||
|
||||
健康响应最多 16 KiB,业务响应最多 1 MiB,请求最多 512 KiB。大业务内容应传对象引用。参数/result 使用 json.RawMessage,不转成 float64;revision 在 Go 中为 uint64,JSON 编码为字符串。服务端字段及上限见各接口手册。
|
||||
|
||||
## 5. 外部项目本地接入
|
||||
## 5. 外部项目通过远端接入
|
||||
|
||||
SDK 尚未发布版本。开发期可以用本地 replace:
|
||||
业务项目需要 Go 1.27.1 或更高版本。在业务项目的 `go.mod` 所在目录安装首个接入版本:
|
||||
|
||||
```sh
|
||||
go mod edit -require=git.yuntuo.hk/k2safe/orbit/sdk/go@v0.0.0
|
||||
go mod edit -replace=git.yuntuo.hk/k2safe/orbit/sdk/go=/absolute/path/to/orbit/sdk/go
|
||||
go mod tidy
|
||||
go get git.yuntuo.hk/k2safe/orbit/sdk/go@v0.1.0
|
||||
```
|
||||
|
||||
将示例路径换成真实路径,不要把本机绝对路径作为发布依赖提交。后续会验证独立 module 标签和真实远端取包,再提供 go get 发布命令。当前源码同时验证 GOWORK=off 的独立构建。
|
||||
代码中导入:
|
||||
|
||||
```go
|
||||
import orbit "git.yuntuo.hk/k2safe/orbit/sdk/go"
|
||||
```
|
||||
|
||||
添加实际调用后,执行:
|
||||
|
||||
```sh
|
||||
go mod tidy
|
||||
go mod verify
|
||||
```
|
||||
|
||||
SDK 位于仓库子目录,对应 Git 标签为 `sdk/go/v0.1.0`;`go get` 使用模块版本 `v0.1.0`。服务端对应仓库标签为 `v0.1.0`。业务项目固定版本并提交 `go.mod` 与 `go.sum`,无需本地源码、`replace` 或 Orbit 的 `go.work`。如果此前配置过本地替换,先执行 `go mod edit -dropreplace=git.yuntuo.hk/k2safe/orbit/sdk/go`。
|
||||
|
||||
这是开发与测试接入版本;生产部署仍按[交付清单](../release-checklist.md)完成目标环境验收。版本发布和校验规则见[发布说明](release.md)。
|
||||
|
||||
## 6. 查询执行历史与证据
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ SDK 位于独立 Go module `git.yuntuo.hk/k2safe/orbit/sdk/go`。它只能依赖
|
||||
|
||||
在仓库根目录执行:
|
||||
|
||||
``@@BT@sh
|
||||
```sh
|
||||
GO=/path/to/go \
|
||||
sh scripts/test-sdk-isolation.sh
|
||||
``@@BT@
|
||||
```
|
||||
|
||||
门禁会强制 `GOWORK=off`,检查 `go.mod` 和完整依赖图,然后运行:
|
||||
|
||||
@@ -19,9 +19,9 @@ sh scripts/test-sdk-isolation.sh
|
||||
|
||||
成功输出示例:
|
||||
|
||||
``@@BT@json
|
||||
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":27,"forbidden_dependencies":0}
|
||||
``@@BT@
|
||||
```json
|
||||
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":30,"forbidden_dependencies":0}
|
||||
```
|
||||
|
||||
`package_count` 随示例增加而变化,不能作为兼容性版本号。门禁只证明源码在当前 Go 工具链下保持独立和可构建,不代表已经发布到远端模块代理,也不替代旧 SDK/新服务端和新 SDK/旧服务端的协议兼容矩阵。
|
||||
|
||||
@@ -29,12 +29,17 @@ sh scripts/test-sdk-isolation.sh
|
||||
|
||||
## 接入方式
|
||||
|
||||
SDK 尚未发布正式标签时,开发项目可以使用本地 replace;发布候选必须使用独立 module 的版本标签和干净 checkout 验证。接入方应固定 SDK 版本,升级前先执行自己的接口和业务幂等回归:
|
||||
首个接入版本为 `v0.1.0`,需要 Go 1.27.1 或更高版本。接入方应固定 SDK 版本,升级前先执行自己的接口和业务幂等回归:
|
||||
|
||||
``@@BT@sh
|
||||
go mod edit -require=git.yuntuo.hk/k2safe/orbit/sdk/go@v0.0.0
|
||||
go mod edit -replace=git.yuntuo.hk/k2safe/orbit/sdk/go=/absolute/path/to/orbit/sdk/go
|
||||
```sh
|
||||
go get git.yuntuo.hk/k2safe/orbit/sdk/go@v0.1.0
|
||||
# 在业务代码导入 SDK 并添加调用后:
|
||||
go mod tidy
|
||||
``@@BT@
|
||||
go mod verify
|
||||
```
|
||||
|
||||
替换路径只用于本地开发,不能提交到业务项目的发布分支。SDK 不负责 TLS 终止、凭据托管、对象存储或外部副作用核查;这些边界仍由平台接口手册和接入方运行手册定义。
|
||||
仓库主分支为 `main`。服务端标签 `v0.1.0` 和独立 SDK 标签 `sdk/go/v0.1.0` 指向同一发布提交;Go 子模块标签必须包含 `sdk/go/` 前缀,业务端的模块版本不带此前缀。已发布标签保持不可变,修复使用新的补丁版本。`v0.1.0` 用于开发与测试接入,正式生产仍需完成[交付核对清单](../release-checklist.md)。
|
||||
|
||||
发布后需在仓库外新建业务 module、使用空模块缓存和 `GOWORK=off`,通过匿名远端下载,执行 `go mod tidy`、编译、SDK 调用 smoke 和 `go mod verify`,确认解析版本精确为 `v0.1.0` 且不存在 `Replace`。后续发布继续重复这一步,并按[兼容矩阵](compatibility.md)验证旧/新组合。
|
||||
|
||||
本地联调可以临时添加 `replace`,但不能提交到业务项目的发布分支。SDK 不负责 TLS 终止、凭据托管、对象存储或外部副作用核查;这些边界仍由平台接口手册和接入方运行手册定义。
|
||||
|
||||
Reference in New Issue
Block a user