runCommandでenv-cmdコマンドが使用されている場合、デプロイが失敗する


概要

xmcloud.build.jsonで環境のXM Cloudビルド構成を変更する場合、startCommandは非推奨であり、無視されることに注意してください。実行するには、package.jsonファイルからのbuildCommandおよびrunCommandを使用することができます。ただし、runCommandで「env-cmd」コマンドを使用するカスタム.envファイルを使用する場合、XM Cloudへのデプロイが失敗する可能性があります。

(失敗すると)ログに以下のエラーが記録される可能性があります。

TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received undefined

解決策

事象の影響を緩和するには、以下のように正しいフォーマットに従ってカスタム.envファイルへのパスを記述する必要があります。

"build:custom": env-cmd -f <your env file path> <commands for env>

例:

"build:custom": "env-cmd -f env/.env.production cross-env NODE_ENV=production npm-run-all --serial bootstrap next:build"

Sitecoreでは、XM Cloudで上記のアプローチを実施する前に、ローカルの開発環境でスクリプトが正常に動作するかテストしていただくことを推奨いたします。