Appearance
本番環境デプロイ(slotkouryaku.com)
概要
開発環境(core_src)からビルドした成果物(core_YYYYMMDD_HHMMSS)を、本番環境(slotkouryaku.com)へデプロイする手順です。ステージング環境デプロイと同じ 3 ステップ構成(build → deploy → activate)です。
このページは 本番作業時の入口 です。通常の本番反映ではこのページを正本として扱い、接続・同期・障害対応・過去の移行記録は下表から目的別に参照します。
本番作業の入口
| 目的 | 参照先 | 位置づけ |
|---|---|---|
| 本番へコードを反映する | このページ | 本番デプロイの正本 |
| ステージングで先に確認する | ステージング環境デプロイ | 本番と同じ build → deploy → activate 構成の検証先 |
| 本番サーバーへ SSH 接続する | 本番環境への接続方法 | config/local.env と ConoHa WING の接続情報確認 |
| 本番で WP-CLI を使う | WP-CLI 接続手順 / WP-CLI 導入手順 | 管理コマンド・シード・確認用 |
| 本番 DB をローカルへ同期する | DB 同期安全ガイド / DB 同期 | ローカル上書きを伴うため安全ガイドを先に確認 |
| 本番ファイルをローカルへ同期 | 本番→ローカル ファイル同期ガイド | テーマ・プラグイン・uploads の rsync 手順 |
| 障害予防・初動対応を確認する | サイト停止防止ガイド | 本番反映前後の確認観点と障害時の調査入口 |
| 過去の本番移行記録を見る | 本番移行手順マニュアル | 参考保存。現役手順ではなく、緊急リカバリや経緯確認でのみ参照 |
作業前の確認順
前提条件
- ローカル環境でのテスト・品質チェック完了
- デプロイ設定ファイルの準備(
config/local.env)
確認順
本番作業前は、次の順で確認します。
- 反映対象がステージングで確認済みかを ステージング環境デプロイ で確認する。
config/local.envと SSH 接続情報を 本番環境への接続方法 に沿って確認する。- DB やファイルをローカルへ同期する作業が必要な場合は、デプロイ手順ではなく DB 同期安全ガイド と ファイル同期ガイド を先に確認する。
- 障害時の切り戻し・確認観点を サイト停止防止ガイド とこのページの ロールバック で確認する。
設定手順
1. config/local.env の作成
bash
cp config/local.env.example config/local.env
nano config/local.env2. 設定する項目
| 変数 | 説明 |
|---|---|
| DEPLOY_HOST | 本番サーバーのホスト名または IP |
| DEPLOY_PORT | SSH ポート(省略時は 22) |
| DEPLOY_USER | SSH ログインユーザー名 |
| DEPLOY_SSH_KEY | 秘密鍵のパス(例: ~/.ssh/your-private-key.pem) |
| DEPLOY_REMOTE_PATH | 本番のテーマ直下のフルパス(core_* を置くディレクトリ) |
DEPLOY_REMOTE_PATH の例:
/home/conoha/public_html/slotkouryaku.com/wp-content/themes/cocoon-child-master/myCustom3. パーミッション
bash
chmod 600 config/local.envデプロイ手順
一括実行(推奨):
bash
./bin/deploy-all.sh./bin/build.sh(deploy-all 内で実行)は npm run build により Chart.js 等のフロントバンドル(hall-samai-graph.js / period-kishu-samai-ranking.js 等、.gitignore 対象)を生成してから core_src を _build/core_* にコピーします。バンドル未生成のまま PHP のみデプロイすると、グラフ系ショートコードは error_log のみで画面に JS が載りません。管理画面ビルドには gzip/Brotli 事前圧縮も含まれます。配信条件は 事前圧縮静的アセット を参照してください。
個別実行(部分再実行や確認しながら進めたい場合):
ビルド(未実行の場合)
bash./bin/build.sh本番へアップロード
bash./bin/deploy.shまたはバージョン(タイムスタンプ)を指定する場合:
bash./bin/deploy.sh 20250120_143022バージョンを省略した場合: 実行ログに表示されるバージョン名か、以下のコマンドで
_buildディレクトリ一覧から最新を確認して、次のactivate.shに渡してください。bashls -1 _build/core_* | sort | tail -n 1 | sed 's|.*/core_||'VERSION 切り替え&キャッシュ削除
bash./bin/activate.sh 20250120_143022このスクリプトは SSH で本番サーバーに接続し、
connector.phpのVERSION定数を指定したタイムスタンプに更新したうえで、PHP-DI コンパイル済みコンテナキャッシュを削除します。次回リクエスト時にキャッシュが新しいcore_*から再生成されます。
SSH が使えない場合の FTPS zip デプロイ
SSH 接続が利用できない場合の暫定ルートとして、FTPS で zip と一時デプロイレシーバーをアップロードし、HTTPS 経由でサーバー側展開・connector.php の VERSION 切り替え・PHP-DI キャッシュ削除を実行できます。
config/local.env に次を追加します。
bash
DEPLOY_FTPS_URL=ftp://your-ftp-host/public_html/slotkouryaku.com/wp-content/themes/cocoon-child-master/myCustom
DEPLOY_FTPS_USER=your-ftp-username
DEPLOY_FTPS_PASS=your-ftp-password
DEPLOY_FTPS_PUBLIC_URL=https://www.slotkouryaku.com/wp-content/themes/cocoon-child-master/myCustom一括実行:
bash
./bin/deploy-all-ftps-zip.shビルド済みバージョンを指定して実行:
bash
./bin/deploy-ftps-zip.sh 20260713_120000この方式では core_YYYYMMDD_HHMMSS.zip と、ランダム名・強トークン付きの一時 PHP レシーバーを FTPS で myCustom/ にアップロードします。zip には core_YYYYMMDD_HHMMSS に加えて、存在する場合は myTemplate/ と scripts/(.DS_Store / *.bak 除外)も含めます。レシーバーは POST リクエストでトークン検証後、zip をステージングディレクトリへ展開し、vendor/autoload.php の存在を確認してから core_YYYYMMDD_HHMMSS を配置します。myTemplate/ は上書きマージ、scripts/ は削除同期されます。connector.php は最後に更新され、成功時に zip とレシーバー自身を削除します。
注意:
- SFTP ではなく FTPS を使用します。SFTP は SSH 接続に依存します。
- 成功時に前回失敗で残った
.deploy-stage-*/deploy-receiver-*.php/core_*.zipを掃除します。 - 成功時に古い
core_*を tiered 方針(最新5件常時保持・最大10件・2日超は6件目以降削除)で削除します。 scripts/はリモート側を一度削除してから配置します。リモートで手動追加した一時ファイルも削除されます。- 一時レシーバーは Web 公開領域に置かれるため、実行後に自動削除されます。失敗時は
myCustom/deploy-receiver-*.phpが残っていないか確認し、残っていれば削除してください。 - 通常の SSH デプロイが復旧したら、
./bin/deploy-all.shを優先してください。
キャッシュのみ削除したい場合
VERSION の切り替えは不要でキャッシュだけ削除したい場合(DI 定義の変更を反映したい、不具合調査でキャッシュを外したいなど)は、clear-cache.sh を使用します。
bash
./bin/clear-cache.shロールバック
問題が発生した場合は、activate.sh で旧バージョンを指定して切り替えます。
bash
./bin/activate.sh 20250115_091500 # 前回のバージョン旧バージョンのディレクトリ(core_20250115_091500)がリモートに残っている必要があります。最新 2〜3 バージョンは削除せずに保持しておくことを推奨します。
関連ドキュメント
- ステージング環境デプロイ: ステージングへのデプロイ手順
- PHPバージョンの更新: ConoHa WING での PHP バージョン・php.ini の設定
- 本番環境への接続方法: ConoHa WING の接続情報の取得方法
- WP-CLI 接続手順: 本番で WordPress コマンドを実行する手順
- DB 同期安全ガイド: 本番 DB をローカルへ同期する前の安全確認
- 本番→ローカル ファイル同期ガイド: テーマ・プラグイン・uploads の同期手順
- サイト停止防止ガイド: 障害予防・初動対応の確認観点
- 本番移行手順マニュアル: 完了済み移行の参考保存。通常の本番反映では現役手順として扱わない
- コマンド一覧: 開発ツール・コマンドの使い方