Saltar al contenido

GitHub ​

Despliega repositorios públicos y privados, y vuelve a desplegar con cada push.

Conecta GitHub ​

  1. En un proyecto, haz clic en Add Service → GitHub.
  2. Haz clic en Connect GitHub, elige tu cuenta u organización y selecciona los repositorios que Zenavo puede leer. Al terminar vuelves al proyecto.

Solo los propietarios y administradores del equipo pueden conectar GitHub. Zenavo obtiene acceso de lectura al código y los metadatos de los repositorios que selecciones, y los eventos de push de esos repositorios. Para añadir más repositorios después, abre los ajustes de la GitHub App desde la lista de repositorios, o busca el repositorio que falta y elige Try installing the GitHub App again.

Añade un repositorio ​

  1. Elige un repositorio. Aparecen primero los que recibieron un push más reciente; escribe para buscar.
  2. Elige una rama o etiqueta.
  3. Configure Build Plan:
    • Service Name: cualquier nombre de hasta 64 caracteres; puedes cambiarlo después. Su ID permanente se crea a partir de este nombre.
    • Root Directory: en monorepos, la carpeta de este servicio, como /apps/web.
    • Environment Variables: añade filas o haz clic en Edit Raw Variables para pegar líneas KEY=value.
    • Advanced Settings: la ruta del Dockerfile, el puerto HTTP y Deploy automatically when this branch is pushed (activado por defecto).
  4. Build Plan Preview muestra cómo se compilará el servicio: tu Dockerfile, o el lenguaje y la versión que detectó zbpack, además del puerto. Haz clic en Configure para cambiar algo, o en Deploy.

Desplegar con cada push ​

Con los despliegues automáticos activados, cada push a la rama compila y despliega el proyecto. Los push a otras ramas se ignoran. Actívalo o desactívalo más tarde en la pestaña Settings del servicio → Auto deploy.

Watch paths ​

En un monorepo, un push a una aplicación no debería volver a desplegar las demás. En la pestaña Settings del servicio → Watch paths, escribe un patrón por línea; así un push solo despliega cuando cambia un archivo que coincide. Déjalo vacío para desplegar con cada push.

Los patrones usan la sintaxis de .gitignore y se leen desde la raíz del repositorio (no desde el directorio raíz), pero seleccionan los archivos que activan un despliegue:

PatrónDespliega cuando un push cambia
apps/web/cualquier cosa dentro de apps/web
/package.jsonsolo el package.json de la raíz del repositorio
*.gocualquier archivo Go, en cualquier carpeta
packages/**/srcuna carpeta src a cualquier profundidad dentro de packages
!**/*.mdarchivos Markdown no, aunque estén en una carpeta vigilada

Como en .gitignore, un patrón con / al principio o en medio es relativo a la raíz del repositorio, y uno sin / coincide a cualquier profundidad. * y ? no salen de un nombre de carpeta, ** cruza carpetas, y decide el último patrón que coincide con un archivo. Cuentan los archivos añadidos, modificados y eliminados.

Zenavo lee los archivos cambiados del evento de push de GitHub. Si el evento no los incluye (por ejemplo, un push de más de 2.048 commits o una rama movida a un commit existente), el servicio se despliega igualmente. Volver a desplegar desde la consola o la CLI siempre despliega, sean cuales sean los watch paths.

Un push despliega el proyecto cuando cualquier servicio con despliegue automático que siga esa rama vigila un archivo cambiado.

Sin relación con Zeabur.