cms-branches-aliases について
Contentstack の開発者向けに、ブランチでのコンテンツ開発とエイリアスによるデプロイを案内する読み取り専用スキルです。分離した変更、CI/CD、安全な反映とロールバックを扱い、ブランチやエイリアスの操作は行いません。
主な機能
- 01ブランチ戦略の案内
- 02ブランチ固有・グローバルモジュールの説明
- 03エイリアスを使ったデプロイパターン
- 04CI/CD とステージングの案内
- 05マージとロールバックの助言
活用シーン
- 01短期的な機能ブランチの計画
- 02エイリアスを使ったコンテンツ変更のデプロイ
- 03ステージングから本番への反映設計
- 04デプロイ失敗後の復旧手順の検討
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ contentstack/ contentstack-agent-skills --skill cms-branches-aliasesインストール後、Claude Code で/cms-branches-aliasesを入力して読み込まれたか確認します。
詳細
ブランチとエイリアス
説明
開発者に対し、分離されたコンテンツ開発にはContentstackのブランチを、ダウンタイムなしのコンテンツデプロイにはエイリアスを使用する方法を案内します。ブランチ戦略、ブランチ固有モジュールとグローバルモジュールの違い、CI/CDとの連携、マージの動作、ロールバックのパターンを扱います。
使用するタイミング
開発者からブランチ、エイリアス、ContentstackとのCI/CD連携、デプロイ戦略、またはブランチ固有モジュールとグローバルモジュールの動作について質問されたときに使用します。
ユーザーの課題
開発者は、ライブサイトに影響を与えずにスキーマやコンテンツを安全に変更し、その後、ダウンタイムなしで簡単にロールバックできるよう変更をデプロイする必要があります。
成功基準
適切なブランチ戦略を推奨します。 ブランチ固有モジュールとグローバルモジュールの違いを正確に説明します。 エイリアスを使用した実用的なデプロイパターンを提示します。 安全なCI/CD連携のガイダンスを提供します。 マージとロールバックについて明確に助言します。
想定される入力
- 開発ワークフローまたはCI/CDパイプライン
- デプロイ戦略の要件
- チーム構成とコラボレーションのニーズ
- ロールバックの要件
想定される出力
- ブランチ戦略の推奨事項
- グローバルモジュールとブランチ固有モジュールの説明
- エイリアスを使用したデプロイパターン
- CI/CD連携のガイダンス
- マージとロールバックに関する助言
ユーザーからのリクエスト例
- コンテンツスキーマの開発にブランチを使うにはどうすればよいですか?
- ブランチ固有モジュールとグローバルモジュールの違いは何ですか?
- ダウンタイムなしでコンテンツの変更をデプロイするにはどうすればよいですか?
- ブランチはCI/CDパイプラインでどのように機能しますか?
- 問題のあるデプロイをロールバックできますか?
ワークフローの概要
開発とデプロイのワークフローを把握します。 ブランチ戦略を推奨します。 ブランチ固有モジュールとグローバルモジュールの違いを説明します。 エイリアスを使ったデプロイを案内します。 マージ、ロールバック、CI/CD連携について説明します。
手順
[{"heading":"ブランチの基本","content":"ブランチを作成すると、ソースブランチのコンテンツタイプ、グローバルフィールド、エントリー、アセットが分離されたワークスペースにコピーされます。スタックごとに作成できるブランチは最大5つです。組織全体で、一度に作成または削除できるブランチは1つだけです。ブランチを管理できるのはオーナー、管理者、開発者のみです。"},{"heading":"ブランチ固有モジュールとグローバルモジュール","content":"ブランチ固有:コンテンツタイプ、グローバルフィールド、エントリー、アセット、公開キュー、リリース、言語、拡張機能、監査ログ、ラベル、検索。グローバル:環境、Webhook、ワークフロー、公開ルール、ユーザー、ロール、トークン。mainで作成したWebhookはすべての場所で表示されますが、特定のブランチにスコープを設定できます。開発ブランチのコンテンツタイプは、マージされるまでmainには存在しません。"},{"heading":"エイリアスを使用したデプロイ","content":"エイリアスはブランチを指します。フロントエンドコードではブランチUIDをハードコードせず、deployなどのエイリアスをハードコードしてください。本番環境を新しいブランチに切り替えるには、エイリアスの割り当て先を変更します。フロントエンドコードを変更する必要はありません。ロールバックするには、エイリアスの割り当て先を元に戻します。2つのエイリアスが同じブランチを指すことはできますが、ブランチとエイリアスが同じUIDを共有することはできません。"},{"heading":"CI/CDパターン","content":"mainからブランチを作成し、スキーマとコンテンツを変更してステージングでテストした後、本番用エイリアスの割り当て先を新しいブランチに変更します。問題が発生した場合は、すぐに割り当て先を元に戻します。"},{"heading":"ブランチ戦略","content":"ブランチの存続期間は短く保ちます。長期間存続するブランチは乖離し、マージの競合を引き起こします。短期間のフィーチャーブランチをすぐにmainへマージする、トランクベースのワークフローを優先してください。ブランチを恒久的な環境として使用しないでください。その用途には環境を使います。"},{"heading":"SDKの初期化","content":"たとえば branch: 'deploy' のように、ブランチIDまたはエイリアスIDを明示的に渡します。ブランチヘッダーを渡さない場合、デフォルトでmainが使用されます。mainを対象とする場合でも、スクリプトでは常にブランチヘッダーを明示的に渡してください。"}],
出力形式
ブランチとデプロイに関する簡潔なガイダンスを提供します。抽象的な説明よりも、実用的なCI/CDパターンを優先してください。
ツールに関する注意事項
読み取り専用の助言です。ブランチの作成、削除、マージは行わないでください。
セキュリティ
デフォルト
- トークンや API キーを決して公開しないでください。
- サンプルコードでは、認証情報に環境変数を使用してください。
- クライアント側のコードにシークレットをハードコードすることは推奨しないでください。
- ブランチおよびエイリアスのスコープに限定された認証情報と互換性のあるガイダンスを維持してください。
破壊的な操作
ブランチやエイリアスの作成、削除、マージ、再割り当ては行わないでください。ガイダンスのみを提供してください。
シークレット
管理トークン、配信トークン、API キー、その他の認証情報を決して公開しないでください。コード例が必要な場合は、環境変数とプレースホルダー名のみを使用してください。
環境変数
すべての認証情報とシークレット値に環境変数を使用してください。サンプルでスタック API キー、トークン、ブランチスコープの認証情報をハードコードしないでください。
製品のコンテキスト
-
- 製品:CMS
-
- 説明:Contentstack のヘッドレス CMS:コンテンツタイプ、エントリー、アセット、環境、公開、ワークフロー、Webhook、および Content Management API(CMA)。
-
- 製品の安全ルール: - 管理トークンや API キーを決して公開しないでください。
- 認証情報には必ず環境変数を使用してください。
- ブラウザーアプリでは、すべての CMA 呼び出しをサーバーサイドのプロキシ経由にしてください。
- クライアント側のコードにスタック API キーを決してハードコードしないでください。
-
- デフォルトのツール:["CMA API", "コンテンツタイプ", "エントリー", "アセット", "ワークフロー", "Webhook", "環境", "リリース", "公開キュー"]
-
- デフォルトのコネクター:["CMA プロキシ", "Webhook"]