quick-deploy
以前に検証済みのデプロイを、テストを再実行せずに本番環境に昇格させることができます。Salesforceは、検証済みのデプロイIDなら4日以内であればクイックデプロイを受け付け、テストフェーズをスキップします。本番リリース時に20~60分の時間短縮が実現できます。
description の原文を見る
Promote a previously validated deployment to production without re-running tests. Salesforce honors a quick-deploy of any validated deploy ID within 4 days, skipping the test phase. Saves 20–60 minutes on prod releases.
SKILL.md 本文
クイックデプロイを実行しています。既に検証済みのデプロイIDを取得して本番環境に昇格させます。Salesforceのクイックデプロイは、本番環境デプロイ時にテストをスキップする唯一の公式な方法です。
プロジェクト設定を最初に読み込む
source "${CLAUDE_PLUGIN_ROOT}/hooks/lib/config.sh"
ORG="$(sf_config_get '.platform.defaultTargetOrg' "$ENV")"
HISTORY="${CLAUDE_PLUGIN_DATA:-$HOME/.claude/plugin-data}/argo/deploys/${PROJECT_SLUG}/history.jsonl"
入力
$ARGUMENTS:
- (空)— 履歴から利用可能な検証済みデプロイIDを表示し、選択を促す
<deployId>— 指定されたIDをクイックデプロイする--validate-first— まず/argo:diff-deploy --validateを実行し、その結果のIDをクイックデプロイする--target-org <alias>/--env <name>— 標準的なオーバーライド--ci— 機械可読出力
ステップ
1. デプロイIDを解決する
<deployId> が指定された場合、形式を検証します(0Af プレフィックス、18文字)。
空の場合、履歴ファイルを読み込み、過去4日以内の検証済みデプロイを表示します:
jq -r 'select(.status == "ValidatedSucceeded" and (.validatedAt | fromdate) > (now - 345600)) | "\(.deployId) \(.validatedAt) \(.summary)"' "$HISTORY"
ユーザーに1つを選択させます。
--validate-first の場合、/argo:diff-deploy --validate にディスパッチしその出力からデプロイIDを取得します。
2. デプロイIDがクイックデプロイ用として有効であることを確認する
sf org login # 既にログイン済み; これはサニティチェック
sf data query --target-org "$ORG" --use-tooling-api --json --query "
SELECT Id, Status, NumberComponentsDeployed, NumberComponentErrors, NumberTestsCompleted,
CompletedDate, CreatedDate, CheckOnly
FROM DeployRequest
WHERE Id = '<deployId>'
"
以下を検証します:
Status = 'Succeeded'CheckOnly = true(検証であり実際のデプロイではない)CompletedDateが過去96時間以内NumberTestsCompleted > 0NumberComponentErrors = 0
いずれかのチェックが失敗した場合、拒否し理由を説明します。
3. クイックデプロイを実行する
sf project deploy quick \
--target-org "$ORG" \
--job-id "<deployId>" \
--wait 30 \
--json > /tmp/quick-deploy-result.json
4. 出力
デフォルトMarkdown:
# クイックデプロイ: <ORG>
検証済みデプロイID: 0Af...XYZ
検証実施日時: 2026-04-26T14:22:00Z (49時間前)
コンポーネント数: 7
テスト数: 23 (検証時にすべて合格)
## ステータス
✅ クイックデプロイ成功 (4.1秒 — テスト再実行なし)
デプロイID: 0Af...ABC (実際のデプロイ; 検証IDは 0Af...XYZ)
## 実施内容
- Salesforceが検証時のテスト結果を再利用しました
- コンポーネントが組織に適用されました
- 合計時間: 4秒 (テスト付き新規デプロイの約22分と比較)
CIモードJSON: {"validateId": "0Af...XYZ", "deployId": "0Af...ABC", "status": "Succeeded", "elapsedMs": 4123}.
5. 履歴に追記する
echo '{"deployId":"0Af...ABC","validateId":"0Af...XYZ","status":"Succeeded","quickDeployedAt":"...","org":"...","componentCount":7}' >> "$HISTORY"
6. 終了コード
- 0 — クイックデプロイ成功
- 1 — クイックデプロイ失敗 (稀 — 検証がメタデータの有効性を保証; ここでの失敗は組織内で他の変更があったことを意味する)
- 2 — 呼び出しエラー (デプロイID無効、期限切れ、CheckOnly不可など)
ルール
- 検証済みの
CheckOnly = trueデプロイのみをデプロイします。 実際のデプロイIDはクイックデプロイできません - 96時間ウィンドウを遵守します。 Salesforceはその期間を過ぎるとエラーを返します — 明確なメッセージで早期に失敗させます
- デプロイが完全であることを確認します。
NumberComponentErrors = 0かつテストが合格していること。失敗した検証はクイックデプロイできません - 履歴は追記のみです。 過去のレコードを書き換えません; 検証とクイックデプロイイベントの両方が行として記録されます
- 複数組織でクイックデプロイしません。 デプロイIDは組織固有; サンドボックス検証IDを本番環境に対して使用しないでください
利用者
- リリースプロセス: 開発者が本番環境に対して
/diff-deploy --validateを実行 → デプロイIDをメモ → 変更ウィンドウ承認後に/quick-deploy <id>を実行。約20分のテスト実行を節約 - CI: PR上で検証、永続化; リリースパイプラインがIDを取得してクイックデプロイ
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- vhmarquez
- リポジトリ
- vhmarquez/argo
- ライセンス
- MIT
- 最終更新
- 2026/4/30
Source: https://github.com/vhmarquez/argo / ライセンス: MIT