実現したいこと
Nuxtアプリケーション(universal mode)を、AWS Codeシリーズ(Build, Deploy, Pipeline)を用いて、EC2にデプロイしたい
理想の流れ
- ローカルからGitでCodeCommitにソースコードをプッシュ
- CodePipilineにより、CodeBuildが実行される
- 続いて、CodeDeployが実行される
- EC2にて、Nuxtアプリケーションが公開される
発生している問題・エラーメッセージ
CodeDeployでエラー発生。
ERROR [codedeploy-agent(13699)]: InstanceAgent::Plugins::CodeDeployPlugin:: CommandPoller: Error during perform: InstanceAgent::Plugins::CodeDeployPlugin::ScriptError - Sc ript at specified location: scripts/applicationstart.sh failed with exit code 127 - /opt/codede ploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:183:in `execute_script'
該当のソースコード
- buildspec.yml
version: 0.2 phases: install: commands: - npm install build: commands: - npm run build
- appspec.yml
version: 0.0 os: linux files: - source: / destination: /hogefuga hooks: ApplicationStart: - location: scripts/applicationstart.sh
- applicationstart.sh
#!/bin/bash cd /hogefuga npm run start
原因と思われるもの
- デプロイ終了後、本番環境に
/hogehuga/node_modules
が存在していないためfailed with exit code 127
が発生している。
つまり、npm install
が実行されていない。
あなたの回答
tips
プレビュー