У меня был приведенный ниже сценарий развертывания, который я использовал ранее на экземпляре ec2, и он отлично работал, я остановил этот экземпляр и выдал новый экземпляр, но сценарий не будет работать на этом новом, в частности код, который долженделать с npm
и pm2
.Он говорит, что эти команды не существуют.
Я установил nodejs, npm и pm2 на экземпляр, и когда я ssh в экземпляр, и я могу запустить эти команды вручную.
tar --exclude=./node_modules --exclude=./.git --exclude=./dist --exclude=./.env --exclude=./uploads -czvf deployment.tar.gz .
scp -r -i kp.pem deployment.tar.gz ubuntu@xx.xx.xxx.xxx:/home/ubuntu/api
ssh -i kp.pem ubuntu@xx.xx.xxx.xxx <<'ENDSSH'
cd api
tar -xvf deployment.tar.gz
rm deployment.tar.gz
rm ormconfig.json
mv ormconfig.prod.json ormconfig.json
mv .env.prod .env
mkdir -p uploads
npm install
pm2 stop api
pm2 delete api
pm2 install typescript
pm2 link xxxxxxxxx yyyyyyyyyy
pm2 update
pm2 start src/index.ts --source-map-support --name=api --trace
ENDSSH
rm deployment.tar.gz
Ниже я получаю сообщение об ошибке.
-bash: line 8: npm: command not found
-bash: line 9: pm2: command not found
-bash: line 10: pm2: command not found
-bash: line 11: pm2: command not found
-bash: line 12: pm2: command not found
-bash: line 13: pm2: command not found
-bash: line 14: pm2: command not found