mcpField
W
wp-ci-cd-and-release-engineering

wp-ci-cd-and-release-engineering

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

wp-ci-cd-and-release-engineering について

WordPress のデリバリーパイプライン向け CI/CD・リリースレビュースキルで、ビルド、パッケージング、デプロイを確認します。成果物、環境と認証情報の境界、検証、ロールバックの準備に重点を置きます。

主な機能

  1. 01パイプラインとリリース箇所の特定
  2. 02出荷成果物の範囲確認
  3. 03環境とシークレットの扱いのレビュー
  4. 04ビルドとテスト手順の検証
  5. 05デプロイゲートとロールバック計画の確認

活用シーン

  1. 01GitHub Actions ワークフローのレビュー
  2. 02プラグインやテーマのパッケージングとリリース確認
  3. 03WordPress.org SVN デプロイの評価

インストール

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

$npx skills add https://github.com/jorgerosal/wordpress-skills --skill wp-ci-cd-and-release-engineering

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

同梱ファイル

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

references/
github-actions-and-gating.md
packaging-and-artifacts.md
wordpress-org-and-rollbacks.md

詳細

WordPress CI/CD とリリースエンジニアリングのスキル

概要

WordPress のデリバリーパイプラインを体系的にレビューするためのガイダンスです。基本原則: リリースは再現可能で、実際に出荷する成果物の範囲に沿っており、ユーザーや本番インフラに届ける前に、対象環境、認証情報、検証ゲートを明示する必要があります。

使用する場面

以下の場合に使用します:

  • WordPress プラグイン、テーマ、ヘッドレスプロジェクトの GitHub Actions またはその他の CI/CD ワークフローをレビューする場合
  • パッケージング/リリーススクリプトやデプロイジョブを監査する場合
  • WordPress.org の SVN デプロイフロー、成果物の生成、リリースタグ付けを確認する場合
  • デプロイ、ビルド手順、プレビュー環境における環境シークレットの取り扱いをレビューする場合
  • 段階的なロールアウト、ロールバック、リリース前検証のワークフローを計画する場合

以下の場合には使用しません:

  • パイプラインやリリースに関する懸念がない、純粋なコードレベルのプラグインアーキテクチャ(wp-plugin-development を使用)
  • 静的解析のセットアップのみ(wp-phpstan-review を使用)
  • WP-CLI を中心とした運用時のメンテナンスタスク(wp-wpcli-and-ops を使用)
  • デプロイパイプラインに焦点を当てない、ヘッドレスのキャッシュ/再検証アーキテクチャ(wp-headless-and-wpgraphql を使用)

コードレビューワークフロー

  1. デリバリー対象を特定する

    • GitHub Actions/CI 設定ファイル
    • リリーススクリプト、シェルヘルパー、Composer/npm のビルドコマンド
    • プラグイン/テーマの zip ファイルを作成するパッケージング手順
    • デプロイドキュメント、リリースチェックリスト、WordPress.org への公開自動化
  2. まず成果物の境界を確認する

    • 本番環境または WordPress.org に出荷されるファイルは具体的にどれですか?
    • デプロイ成果物は一度だけビルドして昇格されますか。それとも環境ごとに異なる方法で再ビルドされますか?
    • 開発専用ファイル、テスト、ソースマップ、シークレット、ローカル設定がリリース成果物に混入していませんか?
  3. 環境とシークレットの取り扱いをレビューする

    • シークレットは実際に必要とするジョブに限定されていますか?
    • 本番デプロイはブランチ/タグ/環境の保護によって制御されていますか?
    • プレビュー/ステージングのジョブでは、別の認証情報とデプロイ先が使用されていますか?
  4. 検証と再現性をレビューする

    • パッケージングまたはデプロイの前に、lint/テスト/ビルドの手順が実行されていますか?
    • 依存関係のインストールは、再現可能なリリースに十分なほどバージョン固定/ロックされていますか?
    • リポジトリのツリーが出荷コードと同じだと仮定せず、生成された成果物を検証していますか?
  5. ロールバックとリリース運用をレビューする

    • ロールバック手順が文書化されていますか?
    • 運用担当者は、どのバージョン/成果物が稼働中かを特定できますか?
    • リリースは冪等ですか。それとも再実行時にデプロイが部分的に行われる可能性がありますか?
  6. 指摘事項を分類する

    • CRITICAL: 保護なしでの本番デプロイ、シークレットの露出、成果物の不一致、レビューされていない本番への直接リリース、または CI に合格したコードと異なるコードを出荷し得る再現不能な再ビルド
    • WARNING: 不十分なゲート、成果物の検証不足、脆弱なタグ/バージョン同期、ロールバックに関する記述の欠如、ローカル環境の前提に依存したデプロイ手順
    • INFO: キャッシュ、マトリックス戦略、変更履歴の自動化、リリースの可観測性を改善できる可能性

ファイルタイプ別の確認項目

GitHub Actions/CI ワークフロー
  • CRITICAL:保護されていないブランチへのプッシュのたびにデプロイジョブが実行される
  • CRITICAL:シークレットが出力されたり、成果物に書き込まれたり、不要なジョブに公開されたりする
  • WARNING:ビルド/テスト/パッケージング/デプロイに関する処理が、内容を把握しにくい単一のジョブにまとめられている
  • WARNING:セキュリティ上重要な経路で、可変バージョンのツール/アクションを不用意に使用している
  • INFO:検証、パッケージング、リリースを、より明確な段階に分割できる可能性
パッケージングとビルドスクリプト
  • CRITICAL:リリース zip が、変更のあるワーキングツリー、またはレビュー済みコミットとは異なるファイルからビルドされる
  • WARNING:意図せず node_modules、テスト、スクリーンショット、ローカル設定が含まれる
  • WARNING:CI 検証時とリリースのパッケージング時で Composer/npm のインストールモードが異なり、成果物が変わる
  • INFO:明示的な成果物の検査やチェックサムの報告を追加できる可能性
WordPress.org / SVN リリースフロー
  • 重大:タグと stable-tag のずれにより、誤ったバージョンが公開される可能性があります
  • 警告:デプロイスクリプトが、ローカルの SVN 状態または手動コピーの手順を検証なしで前提としています
  • 警告:公開前に readme/バージョンのメタデータが検証されていません
  • 情報:SVN へのプッシュ前にドライランや事前チェックを行う方法を文書化できます
環境の昇格とロールバック
  • 重大:明確な保護策がないまま、ステージング環境と本番環境で同じ認証情報またはデプロイ先が使われています
  • 警告:ロールバックスクリプト/手順書がない、または成果物が保持されていません
  • 警告:デプロイ後の本番環境の健全性確認がありません
  • 情報:通知/ログにリリース ID、Git SHA、または成果物名を表示できます

すばやく検出するための検索パターン(RELEASE-21)

次の rg コマンドを使うと、パイプラインとリリースのロジックをすばやく見つけられます。

ワークフローの検出
rg -n "name:|on:|jobs:" .github/workflows -g '*.yml'
rg -n "deploy|release|publish|svn|wp.org|artifact|zip" . -g '*.{yml,yaml,sh,js,ts,json,md}'
シークレットと環境のリスク
rg -n "secrets\.|GITHUB_TOKEN|SVN_PASSWORD|SSH_PRIVATE_KEY|rsync|scp|ssh " . -g '*.{yml,yaml,sh,js,ts,md}'
rg -n "environment:|production|staging|preview|workflow_dispatch|tags:" .github/workflows -g '*.yml'
パッケージングとバージョン管理
rg -n "zip |tar |composer install|npm ci|npm run build|svn cp|svn commit|Stable tag|Version:" . -g '*.{yml,yaml,sh,php,txt,md,json}'
rg -n "readme.txt|plugin.php|style.css|package.json|composer.lock|package-lock.json|pnpm-lock.yaml|yarn.lock" . -g '*'

参考ファイル

  • references/github-actions-and-gating.md - ワークフローの構成、デプロイ保護、環境境界、アクションの衛生管理
  • references/packaging-and-artifacts.md - プラグイン/テーマの成果物設計、ビルド出力、除外対象、検証
  • references/wordpress-org-and-rollbacks.md - WordPress.org の SVN リリースパターン、stable tag とバージョンの同期、ロールバックの考え方、デプロイ後のチェック

出力形式(RELEASE-23)

各指摘には次の項目を含めてください。

  1. 重大度:CRITICAL、WARNING、または INFO
  2. ファイルと行番号
  3. CI/CD またはリリースのリスク概要
  4. リリースされる成果物、デプロイの安全性、または運用担当者の信頼性にとって重要な理由
  5. より安全な推奨パターン

問題が見つからなかった場合は、その旨を明確に述べ、ロールバックに関する注記の欠如、成果物の検査の不十分さ、環境昇格ルールの不明確さなど、残存する不足事項があれば記載してください。

コメント