mcpField
D
deployments

deployments

github.com/editframeクラウド・DevOps1970 回インストール2 週間前に更新
リポジトリ

deployments について

Deploymentsは、monorepo内のtelecine、elements、skillsに関するデプロイ作業を扱うスキルです。リリース経路、スクリプト、インフラストラクチャ、トラブルシューティング手順をまとめています。

主な機能

  1. 01telecineのCloud Runデプロイ手順
  2. 02elementsのnpmリリース手順
  3. 03skillsドキュメントの公開
  4. 04デプロイとCIの補助スクリプト一覧
  5. 05インフラとトラブルシューティング

活用シーン

  1. 01CIを通じたtelecineサービスのデプロイ
  2. 02elementsリリースの準備または公開
  3. 03skillsドキュメントの公開
  4. 04デプロイ障害や本番エラーの調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/editframe/skills --skill deployments

インストール後、Claude Code で/deploymentsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
elements.md
skills.md
telecine.md
troubleshooting.md

詳細

デプロイ

このモノレポには、3つのデプロイ経路があります。

  • telecine -- Pulumi 経由でデプロイされる GCP Cloud Run サービスです。デプロイは、PR を main にマージし、CI(integration、playwright、typecheck)が成功することを条件とします
  • elements -- git タグをプッシュすると公開される npm パッケージです
  • skills -- scripts/push-skills 経由で skills リモートに公開される公開ドキュメントです

スクリプト

telecine と elements は兄弟リポジトリで、モノレポと同じ ~/Editframe/worktrees/<branch>/ 配下にクローンされています。兄弟リポジトリのディレクトリ内から標準の git push origin を使ってプッシュします。サブツリーのプッシュスクリプトはありません。

スクリプト用途
scripts/push-skillsスキルを生成してリモートにプッシュ
scripts/wait-for-telecine-actiontelecine のデプロイ CI をポーリング(30 秒間隔)
scripts/wait-for-elements-actionelements のリリース CI をポーリング(30 秒間隔)
scripts/wait-for-github-action <repo>任意のリポジトリを対象とする汎用 CI ポーラー
scripts/gh-logs <repo> [run-id]CI 実行の失敗したジョブのログを取得
scripts/deploy-info telecineサービス、リソース、ルート、シークレット
scripts/deploy-info elementsパッケージ、リリースパイプライン

クイックリファレンス

操作コマンド
telecine をデプロイブランチをプッシュ → PR を作成 → CI の成功を確認 → main にマージ → scripts/wait-for-telecine-action
telecine ブランチをプッシュgit push origin <branch>(worktrees/<branch>/telecine/ 内から)
特定のサービスを手動でデプロイtelecine/scripts/build-and-push web scheduler-go
すべてのサービスを手動でデプロイtelecine/scripts/build-and-push-all
Pulumi を直接実行cd telecine/deploy && pulumi up
elements のリリースを準備elements/scripts/prepare-release <version>(兄弟の elements リポジトリ内から)
elements を beta に更新elements/scripts/prerelease
elements を手動で公開elements/scripts/publish
skills ドキュメントを公開scripts/push-skills
skills のリリースにタグを付けるgit push skills $(git rev-parse skills/main):refs/tags/v<version>
CI のステータスを確認scripts/gh-logs editframe/telecine
CI が完了するまでポーリングscripts/wait-for-telecine-action

Telecine(GCP Cloud Run)

Telecine は GCP Cloud Run 上で稼働し、telecine/deploy/ の Pulumi(TypeScript)で管理されています。Docker イメージには git SHA のタグが付けられ、GCP Artifact Registry にプッシュされます。main へのプッシュにより、すべてのサービスの Docker ビルドが並行して開始され、その後 Pulumi によるデプロイが行われます。

サポートするインフラストラクチャには、Cloud SQL Postgres、Compute Engine 上の Valkey(Redis)、GCS ストレージバケット、URL マップによるルーティングを備えた HTTPS ロードバランサー、Cloudflare DNS が含まれます。

Web の Docker ビルド(Tailwind クラスのスキャンと実行時のドキュメント配信)のため、スキルのソースファイルは telecine サブツリー内の telecine/skills/skills/ に埋め込まれています。

現在のサービス一覧、各サービスのリソース割り当て、ロードバランサーのルート、シークレットを確認するには、scripts/deploy-info telecine を実行します。

デプロイのアーキテクチャと手順については、references/telecine.md を参照してください。

Elements(npm)

Elements は Trusted Publishing(OIDC)経由で @editframe パッケージを npm に公開します。任意の git タグをプッシュすると、リリースワークフローが開始されます。タグに「beta」が含まれている場合は beta npm dist-tag で公開され、それ以外は latest で公開されます。

現在のパッケージ一覧とリリースパイプラインの手順を確認するには、scripts/deploy-info elements を実行します。

リリースワークフローとバージョン管理については、references/elements.md を参照してください。

Skills(公開ドキュメント)

Skills は skills/skills/ のソースファイルから生成され、editframe/skills GitHub リポジトリに公開される、一般公開向けのドキュメントです。生成時に人間向けのメタデータ(nav、track、sections、api)は取り除かれ、LLM に必要な frontmatter のみが残ります。

scripts/push-skills

# Tag with the same version as elements
git fetch skills main
git push skills $(git rev-parse skills/main):refs/tags/v<version>

CI はありません。プッシュがそのままデプロイになります。Skills には、elements のリリースで使用したものと同じバージョンでタグを付けてください。

ビルドプロセスとソースファイルの規約については、references/skills.md を参照してください。

トラブルシューティングと運用

本番環境のエラーを調査する際は、まずreferences/troubleshooting.mdのエラーのトリアージワークフローに従います。最初に Error Reporting API でグループ化されたエラーを確認し、次に Cloud Run のログを詳しく調べ、最後にリビジョンと関連付けてデプロイが問題の原因かどうかを特定します。

ロールバックの手順、CI 失敗のデバッグ、リソースのスケーリング、シークレットの管理についても、references/troubleshooting.mdで説明しています。

このスキルを使用する場面

次のような場合に、このスキルを使用します。

  • 本番環境のエラーやサービスの健全性に関する問題を調査する
  • サービスやパッケージをデプロイする
  • デプロイの失敗を調査する
  • 問題のあるリリースをロールバックする
  • サービスのリソース制限(CPU、メモリ、インスタンス数)を調整する
  • シークレットを追加またはローテーションする
  • サービスのルーティング方法(ロードバランサー、DNS)を把握する
  • elements のリリースを準備または公開する

コメント