Skip to main content
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.
Passe "@" como token para remover o webhook. O método então retorna "".
Um token inválido resulta em 400 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.
Vincular e desvincular compartilham um limite de 3 chamadas a cada 60 segundos.

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.