Skip to main content
c.Apps.Deploys conecta una aplicación a GitHub para que un push la despliegue. Hay dos formas de hacerlo: un webhook que añades al repositorio, o la GitHub App de Square Cloud. Cada fragmento de abajo se ejecuta por sí solo dentro de este programa: pega uno a la vez en main y ejecuta goimports (consulta Ejecutar los ejemplos).

Webhook

Deploys.SetWebhook(ctx, appID, accessToken) configura los deploys por webhook de GitHub con un token de acceso de GitHub (ghp_... o github_pat_...) y devuelve la URL del webhook que debes añadir a tu repositorio.
Pasa "@" como token para eliminar el webhook. En ese caso, el método devuelve "".
Un token no válido da 400 INVALID_ACCESS_TOKEN.

GitHub App

Deploys.LinkGithubApp(ctx, appID, repository, branch) vincula un repositorio instalado a través de la GitHub App de Square Cloud. Necesita el scope apps:deploy.
Deploys.UnlinkGithubApp(ctx, appID) elimina la vinculación. Para vincular otro repositorio o rama, desvincula primero.
Vincular y desvincular comparten un límite de 3 llamadas cada 60 segundos.

Configuración actual

Deploys.Current(ctx, appID) devuelve lo que está configurado: App para la vinculación con la GitHub App, Webhook para la URL del webhook. Cuando no hay nada configurado, devuelve el valor cero (App es nil y Webhook es ""). Los campos de App son punteros, ya que la API puede enviarlos como null.

Historial de deploys

Deploys.List(ctx, appID) devuelve una línea de tiempo por deploy (un [][]DeployEvent), cada una un slice de eventos, del evento más antiguo al más reciente. Solo se registran los deploys de Git (pushes por webhook y por GitHub App).

Próximos pasos

Red

Analíticas, DNS, dominios personalizados y caché.

Referencia de la API de deploys

Los endpoints REST detrás de estos métodos.

Deploys de GitHub desde la CLI

Las mismas acciones desde la terminal.