better-i18n Publish Pipeline: CDN & GitHub Deployment
Previsualiza los cambios pendientes, luego despliega en CDN o GitHub con un solo comando. Rastrea cada sync job de principio a fin.
better-i18n Publish Pipeline: CDN & GitHub Deployment
better-i18n separa la edición del deployment. Creas y actualizas traducciones libremente — nada se publica hasta que lo hagas explícitamente. Cuando lo haces, los cambios se despliegan en tu endpoint de CDN y/o repositorio de GitHub como un sync job rastreado.
Esta página explica cómo funciona la Publish Pipeline, qué puedes monitorear y cómo integrar la publicación en tu flujo de trabajo.
Cómo funciona la publicación
1. Vista previa de cambios pendientes
Antes de publicar, revisa exactamente qué se desplegará:
// MCP tool: getPendingChanges
{
"project": "your-org/your-project"
}
Devuelve:
- hasPendingChanges — Si hay algo en cola
- summary — Recuentos de traducciones, keys eliminados, total de cambios
- byLanguage — Desglose por código de idioma
- deletedKeys — Keys que se eliminarán permanentemente
- publishDestination —
"github","cdn"o"none"
2. Publicar
Despliega todos los cambios pendientes o traducciones específicas:
// MCP tool: publishTranslations
{
"project": "your-org/your-project"
}
// O publica traducciones específicas
{
"project": "your-org/your-project",
"translations": [
{ "keyId": "uuid-1", "languageCode": "tr" },
{ "keyId": "uuid-2", "languageCode": "de" }
]
}
La publicación es asíncrona — devuelve IDs de sync job de inmediato.
3. Rastrear el deployment
Monitorea el progreso del sync job:
// MCP tool: getSync
{
"project": "your-org/your-project",
"syncId": "sync-job-uuid"
}
Devuelve el estado (pending, in_progress, completed, failed), marcas de tiempo, logs y keys afectados.
Destinos de publicación
CDN Deployment
Las traducciones se despliegan en la red edge de Cloudflare:
https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
Tu aplicación obtiene las traducciones desde este endpoint. Las actualizaciones están en vivo en segundos tras una publicación exitosa — no se requiere redesplegar la app.
GitHub Deployment
Si has conectado un repositorio de GitHub, la publicación crea un pull request o hace push directamente a tu branch configurado. Los archivos de traducción se actualizan en los patrones que hayas configurado (p. ej., locales/**/*.json).
- Tú controlas el merge — better-i18n crea el PR, tu equipo revisa y hace merge
- Solo se tocan los patrones de archivo configurados
- Historial completo de commits de cada cambio de traducción
Tipos de sync job
| Tipo | Qué hace |
|---|---|
initial_import | Primer sync al conectar un repositorio |
source_sync | Sync activado por un evento push de GitHub |
cdn_upload | Despliega traducciones en CDN |
batch_publish | Publica múltiples traducciones a la vez |
Lista de operaciones de sync recientes:
// MCP tool: getSyncs
{
"project": "your-org/your-project",
"limit": 10,
"status": "completed"
}
Integración de GitHub Webhook
better-i18n recibe eventos push de GitHub a través de webhooks para activar la sincronización automática:
- Haces push del código con archivos de traducción actualizados
- GitHub envía un webhook a better-i18n
- better-i18n sincroniza los cambios en tu proyecto
- Las traducciones se actualizan en el dashboard
Esto mantiene tu proyecto en la nube sincronizado con tu repositorio sin intervención manual.
Publicación con REST API
El mismo flujo de publicación está disponible a través de la REST API en dash.better-i18n.com/api:
# Listar cambios pendientes
curl -H "Authorization: Bearer $API_KEY" \
https://dash.better-i18n.com/api/projects/your-org/your-project/pending-changes
# Publicar todos los cambios pendientes
curl -X POST -H "Authorization: Bearer $API_KEY" \
https://dash.better-i18n.com/api/projects/your-org/your-project/publish
Integra la publicación en tu pipeline de CI/CD — despliega traducciones como parte de tu proceso de release.
MCP Workflow
Con el MCP server, tu asistente de AI gestiona el ciclo completo de publicación:
"Comprueba qué hay pendiente para el proyecto landing, luego publica todas las traducciones al turco."
La AI llama a getPendingChanges, te muestra el resumen y llama a publishTranslations con tu confirmación. Rastrea la finalización con getSyncs.
Buenas prácticas
- Siempre previsualiza primero — Llama a
getPendingChangesantes de cada publicación - Publica de forma incremental — Despliega idiomas o keys específicos en lugar de todo a la vez
- Rastrea las finalizaciones — Usa
getSyncpara verificar que los jobs terminaron correctamente - Automatiza con CI — Añade pasos de publicación a tu pipeline de release a través de la REST API
- Usa GitHub PRs — Permite que tu equipo revise los cambios de traducción antes de hacer merge
La Publish Pipeline te da control total sobre cuándo y cómo llegan las traducciones a tus usuarios. Nada se despliega sin tu acción explícita.