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。此时该方法返回 ""。
INVALID_ACCESS_TOKEN。
GitHub App
Deploys.LinkGithubApp(ctx, appID, repository, branch) 关联一个通过 Square Cloud GitHub App 安装的仓库。它需要 apps:deploy 作用域。
Deploys.UnlinkGithubApp(ctx, appID) 移除该关联。要关联其他仓库或分支,请先取消关联。
当前配置
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 部署
在终端中完成同样的操作。

