← ClaudeAtlas

deploylisted

Create a deploy PR to an environment branch such as qa/staging. 明示指示のみで実行する。Use when deploying to an environment branch(qaに上げる・stagingへデプロイ).
devbasex/ai-plugins · ★ 1 · DevOps & Infrastructure · score 71
Install: claude install-skill devbasex/ai-plugins
# 環境デプロイPR作成コマンド 現在のfeatureブランチを指定した環境ブランチへデプロイするためのPRを作成する。`{feature}_to_{env}` という命名のdeployブランチを作成し、最新の起点ブランチを取り込んでから環境ブランチへPRを出す。 ## 使用方法 ``` /ndf:deploy qa/staging /ndf:deploy release/v2 ``` ## cherry-pick-pr との使い分け | 観点 | cherry-pick-pr | deploy | |---|---|---| | 適用範囲 | featureブランチの**一部コミット**を選択 | featureブランチ**全体**を適用 | | ブランチ戦略 | 環境ブランチから短命ブランチ派生 | featureブランチから deploy ブランチ派生 | | 起点ブランチの取り込み | 必須 | 必須 | | 用途 | 特定修正のみ検証環境に届けたい | feature機能全体を環境で検証したい | ## 処理フロー ### 1. バリデーション ```bash # 起点は開発の本流であって、既定ブランチとは限らない。宣言(`.ndf/worktree.json` の # `base_branch`)を先に読み、その名前が実在することを確かめる。取得済みの参照に無ければ # origin へ問い合わせる(取得していないだけの場合を「無い」と読まないため)。実在しなければ # 既定ブランチへ落とさずに止まる。宣言が無ければ origin の HEAD が指す先を使い、それも # 取れなければ慣例の名前のうちローカルにあるものへ落とす # (共通ライブラリ `wt_base_branch` と同じ順序) dev_base=$(jq -r 'select(.version == 1) | .base_branch | select(type == "string")' \ .ndf/worktree.json 2>/dev/null) if [ -n "$dev_base" ]; then dev_base_found=0 if git show-ref --verify --quiet "refs/remotes/origin/$dev_base" || git show-ref --verify --quiet "refs/heads/$dev_base"; then dev_base_found=1 else # `git ls-remote` のパターンは参照名の末尾に一致する。問い合わせの成功だけを見ると # `refs/heads/x/refs/heads/develop` のような別のブランチでも「ある」と読むため、 # 返った行の参照名そのものを照合する(共通ライブラリ `wt_branch_exists` と同じ形) dev_base_listing=$(GIT_TERMINAL_PROMPT=0 git ls-remote --heads origin \ "refs/heads/$dev_base" 2>/dev/null) while IFS= read -r line; do case "$line" in *$'\t'"refs/heads/$dev_base") dev_base_found=1; br