mcpField
F
fcode-release

fcode-release

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

fcode-release について

Factorial Code のスキルで、CLI リモートを使ってアプリのコードを開発ワークスペースから本番ワークスペースへ反映します。検証を必須とし、本番へのプッシュ前に明示的な確認を求めます。

主な機能

  1. 01ワークスペース間のコード反映
  2. 02プッシュ前の検証必須化
  3. 03確認前の本番変更レビュー
  4. 04差分時の停止と強制プッシュ禁止

活用シーン

  1. 01検証済みアプリのワークスペース反映
  2. 02プッシュ前の本番変更確認
  3. 03ワークスペースの差分への安全な対応

インストール

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

$npx skills add https://github.com/factorialco/factorial-code-skills --skill fcode-release

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

詳細

Factorial Code — リリース

CLI のリモートを使用して、アプリのコードを dev-… ワークスペースから prod-… ワークスペースに昇格させます。入力は 2 つのワークスペーススラッグです。これによって更新されるのは、prod の現在の(バージョン管理されていない)コードのみです。ワークスペースのバージョンを公開し、stable エイリアスを移動するのは別途行うプラットフォームリリースです(モデルについては fcode-core-concepts、手順については fcode-ama を参照)。明示的に指示されない限り、このフローでは settings:versions:* を実行したり、stable を移動したりしないでください。

すべてのリリースに fcode-code-validation によるゲートを設けてください。手順を参照してください。

注意点

  • prod への書き込みアクセスが必要です。 prod-… ワークスペースにプッシュできるのは、オペレーターとアプリの Factorial チーム管理者のみです。管理者による許可はリリースがリクエストされた時点で反映され、アクセストークンに適用されます。リクエスト直後に prod へのアクセスを拒否された場合は、fcode login を実行して再試行してください。誰が、なぜ昇格させるのかについては fcode-ama を参照してください。
  • プッシュ前に ✅ の検証が必要です。 まず dev ワークスペースに対して fcode-code-validation を実行してください。レポートに Blockers がある間は、プッシュを拒否してください。明示的なユーザーの上書き指示(「Blockers があってもそのままプッシュ」)がある場合に限り続行し、ゲートが上書きされたことを記録してください。
  • 最後の fcode push の前に必ず確認してください。 prod ワークスペースで何が変更されるかを要約し、明示的な承認を待ってください。prod のコードは稼働中のインストール環境に提供されています。
  • 決して --force を使わないでください。 fcode pull または fcode push でローカルと prod の不整合が報告された場合は、作業を止め、不整合の内容を示して、どう進めるかユーザーに確認してください(fcode-cli)。
  • remote:add の後の fcode pull は必須です。 prod ワークスペースの現在のメタデータを取り込みます。これを省略すると、古い設定が prod にプッシュされます。
  • どちらのスラッグもエンコードされたトークン(dev-… / prod-…)であり、アプリの UUID ではありません(fcode-cli を参照)。プレフィックスを確認し、クローン先とプッシュ先を取り違えないでください。
  • fcode clone の失敗は通常、トークンの入力ミスまたはアクセス権の不足を意味します(fcode-ama を参照)。やみくもに再試行しないでください。
  • ローカルに dev-xxx/ がすでに存在する場合、確認せずに再利用しないでください。 新規クローン(推奨)と既存のコピーのどちらからリリースするかをユーザーに確認し、既存のコピーを使う場合は先に fcode pull を実行してください。

手順

  1. 2 つのスラッグを確認します。 dev-…(ソース)と prod-…(ターゲット)を 1 つずつ確認してください。プレフィックスが誤っている場合や、どのアプリに属するか曖昧な場合は、作業を止めて確認してください。

  2. 検証ゲートを通します。 dev ワークスペースの最新の ✅ APP_VALIDATION_REPORT.md が存在することを確認してください。存在しない場合、または古い場合は fcode-code-validation を実行してください。❌ の場合は Blockers を列挙して拒否し、ユーザーが明示的に上書きを指示した場合に限り続行してください。

  3. クローンして prod のリモートを設定します。

    fcode clone --skipSkillsSetup dev-xxx
    cd dev-xxx
    fcode remote:add prod-xxx
    fcode pull          # mandatory: picks up prod's current metadata
    fcode add           # registers resources prod doesn't have yet
    

    fcode pull で不整合が報告された場合は、作業を止めて確認してください(「注意点」を参照)。

  4. 確認します。 fcode status を実行し、prod-xxx でプッシュによって何が変更されるか(プロセス、モジュール、変数、設定)をユーザーに要約して、明示的な承認を待ってください。

  5. プッシュします。

    fcode push
    

    不整合がある場合は、作業を止めて確認してください。独断で --force を使ってはいけません。

  6. 結果を報告し、 プラットフォームリリース(バージョンの公開、stable の移動)は別の手順であることをユーザーに伝えてください(fcode-ama)。

コメント