跳转到内容

受治理的 Git 发布

gitpublish 模块提供面向 GitHub、GitLab 以及普通 git 远程(仅推送)的受治理发布。它属于 Community。

每项操作都需要批准的目标、仓库和凭据绑定,以及当前有效的授权。如果缺少所需绑定、Git 可执行文件或授权,发布会被拒绝。注册模块并不意味着仓库已经可以发布。

API 命名空间为 /v1/m/gitpublish,提供发布目标、推送、合并请求与合并的操作意图,以及核对和观察结果。

目标读取(GET /targets 和 GET /targets/{id})包含一个只读的 host(github、gitlab 或 git),由已批准的凭据绑定解析而来。控制台仅对 GitHub 和 GitLab 提供合并请求与合并,包括会话推送之后提供的草稿合并请求。如果某个绑定不再获得批准,或较旧的引擎省略了 host,控制台只提供推送;引擎仍会对每项操作检查保管和授权。绑定查找失败会返回不可用响应。

推送可以指定一个会话运行(session_run)。此时 Olivares 会在发布前,仅通过本地文件协议,把该运行文件夹中的提交获取到服务器仓库。该运行必须属于目标所在的工作区;请求从不指定路径。

远端结果不确定时,不允许直接重试。模块分别记录请求、观察结果和确认信息。已经发出的远端操作可能与后续本地撤权发生竞争。

模块 API 参考.