缺少构建 Node.js 应用程序 RPM 的命令

Missing command on Building a Node.js App's RPM

在.spec 文件的安装指令中,我有一些命令只适用于要安装rpm 的机器。主要是:

%install
pm2 stop www # problem here
rm -rf $RPM_BUILD_ROOT
cp -r * $RPM_BUILD_ROOT/
rm -rf /home/ec2-user/APP-NAME
mkdir -p /home/ec2-user/APP-NAME
cp -r * /home/ec2-user/APP-NAME/*
pm2 start /home/ec2-user/APP-NAME/bin/www

虽然 运行 rpmbuild 我收到一条错误消息,提示未找到 pm2。既然RPM是建立在jenkins box上的,当然找不到了。我有一个单独的盒子,上面将安装 RPM,当然它也安装了 pm2。

我的理解是构建 rpm 的机器不必具有安装指令中使用的库或二进制文件。对吗?

还有谁能想出更好的方法来编写安装指令的 shell 脚本吗?这是我的火node.js部署

%install 用于将构建的文件安装到 RPM 将它们捆绑在一起的临时位置。

%post是安装后在目标机器上运行命令。

您似乎正在尝试停止服务。您将在 %pre.

中执行此操作