我正在嘗試使用AWS CodeDeploy來部署我的應用程序。一切似乎工作正常,但我得到以下錯誤。CodeDeploy PM2命令未找到
[標準錯誤] /opt/codedeploy-agent/deployment-root/f1ea67bd-97bo-08q1-b3g4-7b14becf91bf/d-WJL0QLF9H/deployment-archive/scripts/start_server.sh: 線3:PM2:命令未找到
下面是我的start_server.sh文件。
#!/bin/bash
pm2 start ~/server.js -i 0 --name "admin" &
我已經嘗試使用SSH連接到我的服務器作爲用戶ubuntu和運行該bash文件,它完美無誤地工作。所以我知道PM2在該用戶上安裝並正常工作。
以下是我的appspec.yml文件。
version: 0.0
os: linux
files:
- source:/
destination: /home/ubuntu
hooks:
ApplicationStart:
- location: scripts/start_server.sh
timeout: 300
runas: ubuntu
ApplicationStop:
- location: scripts/stop_server.sh
timeout: 300
runas: ubuntu
也不知道這是否會有所幫助,但這裏是我的stop_server.sh文件。
#!/bin/bash
npm install pm2 -g
pm2 stop admin || true
pm2 delete admin || true
任何想法?
不太確定我會如何檢查。這是一個非常奇怪的錯誤。 –