【发布时间】:2021-06-17 17:25:24
【问题描述】:
在使用 gitlab CICD 成功部署 node.js 项目后,当尝试执行位于项目文件夹中的 script.sh 文件时,它会显示
./script.sh:第 3 行:pm2:找不到命令
我想在部署 node.js 文件后重启 pm2 服务器
现在,如果我在从终端 ssh 进入我的 ec2 之后运行这个 script.sh 文件,它会成功执行。
这是我的 script.sh 文件
帮我解决这个问题,
提前谢谢你:)
【问题讨论】:
-
您是否在全球范围内安装了 pm2?
npm i pm2 -g,您在 CICD 管道中显示的目录似乎与您在ssh之后显示的目录不同。或者尝试在脚本中添加路径而不是 ssh 参数,所以脚本看起来像这样cd /home/ubuntu/backend_path; pm2 restart server.js -
Hii @Adiii,ssh 和终端中的目录路径也相同,我已经在脚本文件 cd /home/ubuntu/backend_path; 中尝试过此路径; pm2 restart server.js 但它没有工作问题不是路径,因为如果在终端和 gitlab runner 上都找到脚本文件,但它无法识别 pm2 命令
-
你全局安装了 pm2 吗?
-
是的,我已经全局安装了 pm2
-
和 ssh 是来自 gitlib 的 ubuntu 的用户?
标签: node.js bash amazon-ec2 deployment gitlab