缺少有关构建节点的命令.js应用程序的 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 盒子上的,当然找不到它。我有一个单独的盒子,上面将安装 RPM,它当然安装了 pm2。

我的理解是,构建 rpm 的盒子不必在安装指令中使用库或二进制文件。 这是对的吗?

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

%install用于

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

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

您似乎正在尝试停止服务。你会在%pre这样做.

最新更新