Skip to main content
c.Apps.Deploys 将应用连接到 GitHub,使一次 push 即可完成 deploy。有两种方式:在仓库中添加一个 webhook,或使用 Square Cloud GitHub App。 下面的每个代码片段都可以在这个程序中单独运行:每次将一个片段粘贴到 main 中,然后运行 goimports(参见运行示例)。

Webhook

Deploys.SetWebhook(ctx, appID, accessToken) 使用 GitHub 访问令牌(ghp_... 或 github_pat_...)配置 GitHub webhook deploy,并返回需要添加到仓库中的 webhook URL。
将 "@" 作为令牌传入即可移除 webhook。此时该方法返回 ""。
无效的令牌会返回 400 INVALID_ACCESS_TOKEN。

GitHub App

Deploys.LinkGithubApp(ctx, appID, repository, branch) 关联一个通过 Square Cloud GitHub App 安装的仓库。它需要 apps:deploy 作用域。
Deploys.UnlinkGithubApp(ctx, appID) 移除该关联。要关联其他仓库或分支,请先取消关联。
关联和取消关联共享 每 60 秒 3 次调用 的限制。

当前配置

Deploys.Current(ctx, appID) 返回已配置的内容:App 表示 GitHub App 关联,Webhook 表示 webhook URL。未设置任何内容时返回零值(App 为 nil,Webhook 为 "")。App 的字段都是指针,因为 API 可能以 null 发送它们。

Deploy 历史

Deploys.List(ctx, appID) 为每次 deploy 返回一条时间线([][]DeployEvent),每条时间线是一个事件切片,最早的事件在前。只有 Git deploy(webhook 和 GitHub App 的 push)会被记录。

后续步骤

网络

分析、DNS、自定义域名和缓存。

部署 API 参考

这些方法背后的 REST 端点。

用 CLI 管理 GitHub 部署

在终端中完成同样的操作。