← 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ブランチを作成し、最新 origin/main を取り込んでから環境ブランチへPRを出す。 ## 使用方法 ``` /ndf:deploy qa/staging /ndf:deploy release/v2 ``` ## cherry-pick-pr との使い分け | 観点 | cherry-pick-pr | deploy | |---|---|---| | 適用範囲 | featureブランチの**一部コミット**を選択 | featureブランチ**全体**を適用 | | ブランチ戦略 | 環境ブランチから短命ブランチ派生 | featureブランチから deploy ブランチ派生 | | main取り込み | 必須 | 必須 | | 用途 | 特定修正のみ検証環境に届けたい | feature機能全体を環境で検証したい | ## 処理フロー ### 1. バリデーション ```bash CURRENT_BRANCH=$(git branch --show-current) [[ "$CURRENT_BRANCH" == "main" || "$CURRENT_BRANCH" == "master" ]] && \ echo "❌ Error: デフォルトブランチからデプロイできません" && exit 1 ``` ### 2. deployブランチ名の導出 ```bash FEATURE_BRANCH=$(git branch --show-current) # 環境名を抽出: "qa/staging" → "staging", "release/v2" → "v2" ENV_SUFFIX=$(echo "$ARGUMENTS" | sed 's|.*/||') DEPLOY_BRANCH="${FEATURE_BRANCH}_to_${ENV_SUFFIX}" ``` ### 3. 既存PRチェック ```bash EXISTING_PR=$(gh pr list --head "$DEPLOY_BRANCH" --base "$ARGUMENTS" \ --json number,url --jq '.[0].url // empty') if [[ -n "$EXISTING_PR" ]]; then echo "✅ PR already exists: $EXISTING_PR" exit 0 fi ``` 既存PRがあれば更新は「deployブランチにpushする」だけで済むため、再作成しない。 ### 4. deployブランチ作成 + main取り込み ```bash git fetch origin main git checkout -b "$DEPLOY_BRANCH" git merge origin/main --no-edit || { echo "❌ main とのmerge conflict。手動解決が必要です" git merge --abort git checkout "$FEATURE_BRANCH" git branch -D "$DEPLOY_BRANCH" exit 1 } ``` ### 5. push + PR作成 ```bash git