better-i18n Publish Pipeline:CDN & GitHub Deployment
保留中の変更をプレビューし、1つのコマンドでCDNまたはGitHubにデプロイします。すべてのSync Jobを最初から最後まで追跡できます。
better-i18n Publish Pipeline:CDN & GitHub Deployment
better-i18nは編集とDeploymentを分離しています。翻訳を自由に作成・更新できます — 明示的にPublishするまで、何もライブになりません。Publishすると、変更がCDNエンドポイントおよび/またはGitHubリポジトリに追跡されたSync Jobとしてデプロイされます。
このページでは、Publish Pipelineの仕組み、監視できる内容、そしてPublishをワークフローに統合する方法について説明します。
Publishの仕組み
1. 保留中の変更をプレビューする
Publishする前に、デプロイされる内容を正確に確認します:
// MCP tool: getPendingChanges
{
"project": "your-org/your-project"
}
返却値:
- hasPendingChanges — キューに入っているものがあるかどうか
- summary — 翻訳数、削除されたKey、合計変更数
- byLanguage — 言語コード別の内訳
- deletedKeys — 永久に削除されるKey
- publishDestination —
"github"、"cdn"、または"none"
2. Publish
保留中のすべての変更または特定の翻訳をデプロイします:
// MCP tool: publishTranslations
{
"project": "your-org/your-project"
}
// または特定の翻訳をPublish
{
"project": "your-org/your-project",
"translations": [
{ "keyId": "uuid-1", "languageCode": "tr" },
{ "keyId": "uuid-2", "languageCode": "de" }
]
}
Publishは非同期です — 即座にSync Job IDを返します。
3. Deploymentを追跡する
Sync Jobの進捗を監視します:
// MCP tool: getSync
{
"project": "your-org/your-project",
"syncId": "sync-job-uuid"
}
ステータス(pending、in_progress、completed、failed)、タイムスタンプ、ログ、影響を受けたKeyを返します。
Publish先
CDN Deployment
翻訳はCloudflareのエッジネットワークにデプロイされます:
https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
アプリケーションはこのエンドポイントから翻訳を取得します。Publishが成功すると、数秒以内に更新がライブになります — アプリの再デプロイは不要です。
GitHub Deployment
GitHubリポジトリを接続している場合、PublishはPull Requestを作成するか、設定されたブランチに直接プッシュします。翻訳ファイルは設定したパターン(例:locales/**/*.json)に従って更新されます。
- Mergeはあなたが管理 — better-i18nがPRを作成し、チームがレビューしてMergeします
- 設定されたファイルパターンのみが変更されます
- すべての翻訳変更の完全なCommit履歴
Sync Jobの種類
| 種類 | 説明 |
|---|---|
initial_import | リポジトリ接続時の初回Sync |
source_sync | GitHub PushイベントによってトリガーされるSync |
cdn_upload | 翻訳をCDNにデプロイ |
batch_publish | 複数の翻訳を一度にPublish |
最近のSync操作を一覧表示します:
// MCP tool: getSyncs
{
"project": "your-org/your-project",
"limit": 10,
"status": "completed"
}
GitHub Webhook統合
better-i18nは、自動Syncをトリガーするために、WebhookでGitHub Pushイベントを受信します:
- コードをプッシュします — 更新された翻訳ファイルと共に
- GitHubがWebhookを送信します — better-i18nへ
- better-i18nが変更をSync — プロジェクトに取り込みます
- 翻訳が更新されます — ダッシュボード上で
これにより、手動の介入なしにクラウドプロジェクトをリポジトリと同期した状態に保ちます。
REST API Publishing
同じPublishワークフローは、dash.better-i18n.com/apiのREST APIを通じても利用できます:
# 保留中の変更を一覧表示
curl -H "Authorization: Bearer $API_KEY" \
https://dash.better-i18n.com/api/projects/your-org/your-project/pending-changes
# 保留中のすべての変更をPublish
curl -X POST -H "Authorization: Bearer $API_KEY" \
https://dash.better-i18n.com/api/projects/your-org/your-project/publish
CI/CDパイプラインにPublishを統合します — リリースプロセスの一部として翻訳をデプロイします。
MCP Workflow
MCP Serverを使用すると、AIアシスタントが完全なPublishサイクルを管理します:
「ランディングプロジェクトの保留中のものを確認し、すべてのトルコ語翻訳をPublishしてください。」
AIはgetPendingChangesを呼び出し、概要を表示し、確認後にpublishTranslationsを呼び出します。getSyncsで完了を追跡します。
ベストプラクティス
- 常に先にプレビュー — 毎回のPublish前に
getPendingChangesを呼び出す - 段階的にPublish — すべてを一度にではなく、特定の言語やKeyをデプロイする
- 完了を追跡 —
getSyncを使用してJobが正常に完了したことを確認する - CIで自動化 — REST APIを通じてリリースパイプラインにPublishステップを追加する
- GitHub PRsを活用 — チームがMerge前に翻訳変更をレビューできるようにする
Publish Pipelineは、翻訳がユーザーにいつ、どのように届くかを完全にコントロールできます。明示的なアクションなしには何もデプロイされません。