c.Apps.Deploys conecta uma aplicação ao GitHub para que um push faça o deploy dela. Há duas formas de fazer isso: um webhook que você adiciona ao repositório, ou o GitHub App da Square Cloud.
Cada trecho abaixo roda sozinho dentro deste programa: cole um de cada vez em main e execute o goimports (veja Executando os exemplos).
Webhook
Deploys.SetWebhook(ctx, appID, accessToken) configura deploys via webhook do GitHub com um token de acesso do GitHub (ghp_... ou github_pat_...) e retorna a URL do webhook a ser adicionada ao seu repositório.
"@" como token para remover o webhook. O método então retorna "".
INVALID_ACCESS_TOKEN.
GitHub App
Deploys.LinkGithubApp(ctx, appID, repository, branch) vincula um repositório instalado pelo GitHub App da Square Cloud. Requer o escopo apps:deploy.
Deploys.UnlinkGithubApp(ctx, appID) remove o vínculo. Para vincular outro repositório ou branch, desvincule primeiro.
Configuração atual
Deploys.Current(ctx, appID) retorna o que está configurado: App para o vínculo do GitHub App, Webhook para a URL do webhook. Quando nada está configurado, retorna o valor zero (App é nil e Webhook é ""). Os campos de App são ponteiros, já que a API pode enviá-los como null.
Histórico de deploys
Deploys.List(ctx, appID) retorna uma linha do tempo por deploy (um [][]DeployEvent), cada uma um slice de eventos, do evento mais antigo para o mais recente. Apenas deploys via Git (pushes por webhook e GitHub App) são registrados.
Próximos passos
Rede
Analytics, DNS, domínios personalizados e cache.
Referência da API de deploy
Os endpoints REST por trás destes métodos.
Deploys do GitHub pela CLI
As mesmas ações pelo terminal.

