我正在尝试使用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
任何想法?
不太确定我会如何检查。这是一个非常奇怪的错误。 –