c.Apps.Deploys collega un’app a GitHub in modo che un push ne effettui il deploy. Ci sono due modi per farlo: un webhook da aggiungere al repository, oppure la GitHub App di Square Cloud.
Ogni snippet qui sotto funziona da solo all’interno di questo programma: incollane uno alla volta in main ed esegui goimports (vedi Eseguire gli esempi).
Webhook
Deploys.SetWebhook(ctx, appID, accessToken) configura i deploy tramite webhook di GitHub con un token di accesso GitHub (ghp_... o github_pat_...) e restituisce l’URL del webhook da aggiungere al tuo repository.
"@" come token per rimuovere il webhook. In quel caso il metodo restituisce "".
INVALID_ACCESS_TOKEN.
GitHub App
Deploys.LinkGithubApp(ctx, appID, repository, branch) collega un repository installato tramite la GitHub App di Square Cloud. Richiede lo scope apps:deploy.
Deploys.UnlinkGithubApp(ctx, appID) rimuove il collegamento. Per collegare un altro repository o branch, scollega prima quello attuale.
Configurazione attuale
Deploys.Current(ctx, appID) restituisce ciò che è configurato: App per il collegamento alla GitHub App, Webhook per l’URL del webhook. Quando non è impostato nulla, restituisce il valore zero (App è nil e Webhook è ""). I campi di App sono puntatori, poiché l’API può inviarli come null.
Cronologia dei deploy
Deploys.List(ctx, appID) restituisce una timeline per ogni deploy (un [][]DeployEvent), ciascuna uno slice di eventi, dal più vecchio. Vengono registrati solo i deploy Git (push tramite webhook e GitHub App).
Prossimi passi
Rete
Analytics, DNS, domini personalizzati e cache.
Riferimento API dei deploy
Gli endpoint REST dietro questi metodi.
Deploy da GitHub con la CLI
Le stesse azioni dal terminale.

