例
require("../build/output/log")
↓
require("./node_modules/next/dist/build/output/log")
require("next/dist/compiled/arg/index.js")
↓
require("./node_modules/next/dist/compiled/arg/index.js")
以上です。
あとはPleskから「アプリを起動」を実行します
リスタートは必要ないですが tmp/restart.txt を touch すれば、次回のアクセス時に自動更新されます。
touch /YOUR/APP/PATH/tmp/restart.txt
next.config.js
( NEXTJS_BUILD_DISTが設定してある場合はそのディレクトリをセット。 設定されてない場合はデフォルトの .next をセット )
module.exports = {
distDir: process.env.NEXTJS_BUILD_DIST ? process.env.NEXTJS_BUILD_DIST : '.next',
}
次のようなシェルスクリプトを用意しておいて, CI / CD から ssh で叩く。 と言うのがシンプルで良いかもしれません。
deploy.sh
(git pullして、ビルドします)
TARGET='/var/www/vhosts/YOUR/APP/PATH';
CURRENT=$(cd $(dirname $0);pwd)
if [ $CURRENT = $TARGET ]; then
echo "===== デプロイを行います ====="
echo "1. git pull します"
git pull origin master
echo ""
echo "2. npm run build します"
export NEXTJS_BUILD_DIST=.next__deploy
npm run build
echo ""
echo "3. .nextディレクトリへコピーします"
rm -rf .next
cp -r .next__deploy .next
export -n NEXTJS_BUILD_DIST
echo ""
echo "4. touch tmp/restart.txt します"
touch tmp/restart.txt
echo ""
echo "===== デプロイが完了しました ====="
else
echo "ディレクトリが違います"
echo $CURRENT
echo $TARGET
fi