Appearance
コマンド一覧
プロジェクトで利用するコマンドを一覧にまとめています。ツールの概要・設定は ツール概要・設定 を参照してください。
CI ワークフローとローカルコマンド対応
| ワークフロー名 | 内容 | ローカルで再現するコマンド |
|---|---|---|
| PHPCS Check | WordPress Coding Standards・未使用use文・PHPCS | composer lint / composer lint-fix |
| PHPStan Check | 静的解析 | composer phpstan-ci |
| Deptrac Architecture Check | アーキテクチャ依存関係チェック | composer deptrac |
| PSR-4 Compliance Check | PSR-4 準拠チェック | composer psr4 |
| Format Check | Prettier フォーマットチェック | npm run format:check / npm run format |
複数チェックをまとめて実行する例:
- PHPStan + Deptrac:
composer ci-static-check - 品質一括(PHPCS + PHPStan + PHPUnit):
composer quality
PHP 系ワークフローでは、core_src で composer install によりオートロードが生成されます。背景は Composer Autoload 運用ガイド を参照してください。
PHPCS(コーディング規約)
| 用途 | コマンド |
|---|---|
| チェック(サマリ) | composer lint |
| チェック(詳細) | composer lint-verbose |
| 特定パスのみチェック | composer run lint-path -- <パス> |
| 詳細レポート | composer lint-full |
| ソース表示レポート | composer lint-source |
| 自動修正 | composer lint-fix |
| 特定パスのみ自動修正 | composer run lint-fix-path -- <パス> |
| Checkstyle 出力 | composer lint-report |
| 進捗確認 | composer lint-progress |
PHPStan(静的解析)
| 用途 | コマンド |
|---|---|
| 解析(推奨) | composer analyse |
| CI 同等(core_src) | composer phpstan-ci |
| メモリ増量時 | composer analyse -- --memory-limit=2G |
Deptrac(アーキテクチャ)
| 用途 | コマンド |
|---|---|
| 解析 | composer deptrac |
| CI 同等 | composer deptrac-ci |
PSR-4 準拠
| 用途 | コマンド |
|---|---|
| チェック | composer psr4 |
| CI 同等 | composer psr4-ci |
フォーマット(Prettier)
| 用途 | コマンド |
|---|---|
| 全ファイル整形 | npm run format |
| チェックのみ | npm run format:check |
| 特定ファイル | npx prettier --write <パス> |
PHPUnit(テスト)
| 用途 | コマンド |
|---|---|
| 全テスト実行 | composer test |
| 特定テスト | vendor/bin/phpunit tests/Unit/ path/To/Test.php |
| カバレッジレポート | composer test-coverage |
まとめて実行
| 用途 | コマンド |
|---|---|
| PHPStan + Deptrac(CI 同等) | composer ci-static-check |
| PHPCS + PHPStan + PHPUnit | composer quality |
| ローカル品質チェック(PHPCS + PHPStan + Deptrac、PHPUnit なし) | composer quality-check または ./bin/run_local_quality_check.sh |
ビルド・デプロイ・ドキュメント
| 用途 | コマンド |
|---|---|
| 古いローカルビルド削除 | ./bin/clean-old-builds.sh |
| 古いリモートビルド削除(本番) | ./bin/clean-remote-builds.sh |
| 古いリモートビルド削除(ステージング) | ./bin/clean-remote-builds-staging.sh |
| 本番ビルド | ./bin/build.sh |
| 本番デプロイ(一括) | ./bin/deploy-all.sh |
| 本番アップロードのみ | ./bin/deploy.sh [version] |
| 本番 VERSION 切り替え+キャッシュ削除 | ./bin/activate.sh <version> |
| 本番キャッシュ削除のみ | ./bin/clear-cache.sh |
| ステージングデプロイ(一括) | ./bin/deploy-all-staging.sh |
| ステージングアップロードのみ | ./bin/deploy-staging.sh [version] |
| ステージング VERSION 切り替え+キャッシュ削除 | ./bin/activate-staging.sh <version> |
| ステージングキャッシュ削除のみ | ./bin/clear-staging-cache.sh |
| 管理画面でビルド一覧/削除 | WordPress 管理画面 → ツール → ビルド管理 |
| ドキュメント開発 | npm run docs:dev |
| ドキュメントビルド | npm run docs:build |
| ドキュメントプレビュー | npm run docs:preview |
| 管理画面 UI ビルド(日報ブロック+ P-WORLD 画像キャプチャ) | npm run build |
本番デプロイ前バックアップ(DB + サイトファイル)
ConoHa のファイルマネージャーで一式 zip を取ると 504 になりやすいため、サイト一式は SSH / rsync で取得します(デフォルト)。backups/ は .gitignore 対象です。
| 用途 | コマンド |
|---|---|
| デプロイ前に DB ダンプ + WP ルートのミラー + 復旧メモ | ./scripts/backup-before-deploy.sh |
| DB とメモのみ(ファイル rsync なし) | ./scripts/backup-before-deploy.sh --no-files |
wp-content/uploads/ も含める(時間・容量増) | ./scripts/backup-before-deploy.sh --with-uploads |
| バックアップした DB を本番へ復元 | ./scripts/restore-db-to-production.sh backups/<日時>/db.sql.gz |
デフォルトのファイル取得では wp-content/uploads/ やキャッシュ等を .backup-rsync-excludes で除外します。
設定は config/local.env(DEPLOY_* / PROD_DB_* / DEPLOY_REMOTE_PATH)。WordPress ルートを固定で指定したい場合は任意で DEPLOY_REMOTE_WP_ROOT を設定します。復旧手順は各バックアップ内の ROLLBACK.md を参照。
デプロイと myTemplate / scripts:
./bin/deploy.sh/./bin/deploy-staging.sh(内部でbin/_deploy-core.shを実行)は_build/core_*に加え、次をリモートのDEPLOY_REMOTE_PATH配下へ同期します。
myTemplate/single-daily-article-template.php… リポジトリルートにファイルがあるときのみmyTemplate/へアップロード。無い場合は警告のみ(core_*の転送は完了)。scripts/… リポジトリ直下のscripts/をrsyncでDEPLOY_REMOTE_PATH/scripts/に同期(wp eval-file用の PHP 等。.DS_Storeと*.bakは除外)。- 前提条件 …
scripts/の同期はrsyncに依存します。ローカル環境・リモート環境の双方にrsyncがインストールされている必要があり、どちらか一方でも未導入の場合はデプロイがエラー終了します。
--deleteの挙動(運用注意):rsync --deleteにより、除外されていない同期対象ファイルでローカルのscripts/に存在しないものは、リモートからも削除されます。バックフィルなど一時スクリプトをリモートで実行した後にローカルから削除した場合、次のdeploy.sh実行でリモートからも消えることを意識してください。スクリプトが不要になったことを確認してからローカルで削除し、その後デプロイするのが安全な手順です。なお、
--exclude='.DS_Store'/--exclude='*.bak'を付けているため、これらの除外パターンに一致するファイルは--deleteだけではリモートから削除されません。除外対象も含めて完全に揃えたい場合は、リモートで手動削除するか、実装側で--delete-excludedの採用を検討してください。Web 直接アクセス対策:
scripts/にはscripts/.htaccess(Require all denied)を同梱しており、Apache 経由のブラウザアクセスをブロックします。ただし nginx 等の場合は Web サーバー設定側でscripts/への直接アクセスを遮断してください。
日別記事が環境で表示されないとき(確認手順)
ローカルでは表示できるがステージング等で一般ユーザー向けに本文がほぼ出ない場合の切り分け。該当環境の DB・ファイル・HTML を確認します。
post meta(レイヤー A)
- 対象の
daily_article投稿 ID を決める。 wp_postmetaのkousatsu_date/hallsが 非空の文字列か確認する(配列として保存されている・空文字のみ等だとテンプレート側で一般ユーザーには出力されない)。- テーブルプレフィックスは環境に合わせて読み替える。
sql
SELECT meta_key, meta_value
FROM wp_postmeta
WHERE post_id = ? /* 投稿ID */
AND meta_key IN ('kousatsu_date', 'halls');HTML とログ
- ログアウト状態で記事 URL を開き、HTML ソースに
DailyArticleTemplate関連のコメントやバリデーション文言がないか確認する。 WP_DEBUG/WP_DEBUG_LOGを有効にできる環境ではdebug.logの[ERROR] DailyArticleTemplateや TemplateHooks のデバッグログを確認する。
DOM と台データ(レイヤー B)
- 開発者ツールで、日別結果ショートコード由来のマークアップ(ランキング・ヒートマップ等)が DOM に存在するか確認する。本文枠がまったく無い場合はレイヤー A やテンプレート未配置を先に疑う。
- 台データなどアプリ用テーブルに、該当する考察日・ホールのデータが揃っているか(DB インポート範囲・バッチの有無)。
テンプレートと VERSION
- リモートの子テーマに
myCustom/myTemplate/single-daily-article-template.phpがあるか(上記デプロイでmyCustom/myTemplate/に同期するか、手動で配置)。 - リモートの
connector.phpのVERSIONと、実際に存在するcore_YYYYMMDD_HHMMSSディレクトリが一致しているか。
Transient
- 必要に応じ
daily_article_template_プレフィックスの transient を削除し、表示が変わるか確認する(DailyArticleTemplateDataService経由のキャッシュ)。
古いビルドの削除
_build/ 内に蓄積した古いビルドディレクトリ(core_YYYYMMDD_HHMMSS)を削除します。
| 用途 | コマンド |
|---|---|
| 一覧表示 | ./bin/clean-old-builds.sh --list |
| 最新1件を残して削除(デフォルト) | ./bin/clean-old-builds.sh |
| 最新 N 件を残して削除 | ./bin/clean-old-builds.sh --keep N |
| 指定バージョンを削除 | ./bin/clean-old-builds.sh --version YYYYMMDD_HHMMSS |
| ドライラン(削除対象の確認のみ) | ./bin/clean-old-builds.sh --dry-run |
| ドライラン(最新2件残す場合) | ./bin/clean-old-builds.sh --keep 2 --dry-run |
注意:
./bin/build.shは実行のたびに_build/*を全削除してから新規ビルドするため、通常はcore_*が1件のみ残ります。複数ビルドが存在する場合(手動コピーなど)に本コマンドを利用してください。
リモート(本番・ステージング)の古いビルド削除
デプロイ先サーバーの DEPLOY_REMOTE_PATH 配下にある core_YYYYMMDD_HHMMSS を削除します。
| 用途 | 本番コマンド | ステージングコマンド |
|---|---|---|
| 一覧表示 | ./bin/clean-remote-builds.sh --list | ./bin/clean-remote-builds-staging.sh --list |
| 最新1件を残して削除(デフォルト) | ./bin/clean-remote-builds.sh | ./bin/clean-remote-builds-staging.sh |
| 最新 N 件を残して削除 | ./bin/clean-remote-builds.sh --keep N | ./bin/clean-remote-builds-staging.sh --keep N |
| 指定バージョンを削除 | ./bin/clean-remote-builds.sh --version VER | ./bin/clean-remote-builds-staging.sh --version VER |
| ドライラン(削除対象の確認のみ) | ./bin/clean-remote-builds.sh --dry-run | ./bin/clean-remote-builds-staging.sh --dry-run |
| ドライラン(最新2件残す場合) | ./bin/clean-remote-builds.sh --keep 2 --dry-run | ./bin/clean-remote-builds-staging.sh --keep 2 --dry-run |
注意: アクティブに利用中の
core_*を削除するとサイトが動作しなくなる可能性があります。削除前に、リモート環境のconnector.phpなどでVERSION定数を参照し、現在参照中のバージョンを必ず特定してください。
管理画面でのビルド管理
WordPress 管理画面の ツール > ビルド管理 から、サーバー上の core_YYYYMMDD_HHMMSS を一覧表示・削除できます。
- 稼働中のバージョン(
VERSIONが参照中のcore_*)は削除不可 - チェックボックスで選択したビルドを一括削除可能
関連ドキュメント
- ツール概要・設定 — 各ツールの概要・設定・セットアップ
- CI/CD ワークフロー概要 — 各ワークフローの詳細
- 機種別サマリ過去期間バックフィル(CLI) —
wp eval-file/bin/backfill-daily-article-kishu-single-day-summary.sh