NodeJS 有没有办法手动设置pm2的应用版本元数据

bihw5rsg  于 2022-12-26  发布在  Node.js
关注(0)|答案(1)|浏览(87)

我有一个简单的pm2配置包含一些应用程序的;

{
    name: "App1",
    script: "/home/scripts/websockets/app1-websocket.js",
    instances: 1,
    log_date_format: "YYYY-MM-DD HH:mm",
    out_file : "/dev/null",
    restart_delay : 30000,
    max_restarts : 5,
    exp_backoff_restart_delay: 500,
    namespace: "APPS",
},
{
    name: "App2",
    script: "/home/scripts/websockets/app2-websocket.js",
    instances: 1,
    log_date_format: "YYYY-MM-DD HH:mm",
    out_file : "/dev/null",
    restart_delay : 30000,
    max_restarts : 5,
    exp_backoff_restart_delay: 500,
    namespace: "APPS",
}

这些都是本地文件,对于这样一个小项目,我不希望把它们捆绑到git或类似的文件中。我想知道是否有办法手动设置pm2 ls中的version元数据字段,这样我们仍然可以设置和跟踪正在运行的内容。
当前:

│ 0   │ App1    │ APPS       │ N/A     │ fork    │ 1234    │ 7m     │ 0    │ online    │ 0%       │ 33.2mb   │ lusr     │ disabled │
│ 1   │ App2    │ APPS       │ N/A     │ fork    │ 1235    │ 14h    │ 0    │ online    │ 0%       │ 9.4mb    │ lusr     │ disabled │

期望:

│ 0   │ App1    │ APPS       │ 3.1.2     │ fork    │ 1234    │ 7m     │ 0    │ online    │ 0%       │ 33.2mb   │ lusr     │ disabled │
│ 1   │ App2    │ APPS       │ 2.1.0     │ fork    │ 1235    │ 14h    │ 0    │ online    │ 0%       │ 9.4mb    │ lusr     │ disabled │
s5a0g9ez

s5a0g9ez1#

经过大量的分心与 Package 应用程序的和所有其他的东西,它实际上并不需要最基本的设置,我希望文件的地方更清楚。
所有你需要做的就是把你正在执行的脚本或应用程序和一个叫package.json的文件放在它自己的目录下,然后用新的路径更新配置,不管你从pm2运行什么,只要它在它自己的文件夹里;

{
    name: "App1",
    script: "/home/scripts/websockets/app1/app1-websocket.js",
    instances: 1,
    log_date_format: "YYYY-MM-DD HH:mm",
    out_file : "/dev/null",
    restart_delay : 30000,
    max_restarts : 5,
    exp_backoff_restart_delay: 500,
    namespace: "APPS",
},

然后在/home/scripts/websockets/app1/中,我们有app1.jspackage.json文件。
package.json中,您需要指定的全部内容是:

{
    "name" : "App1",
    "version" : "1.1.0",
    "description": "App Scripts"
}

然后使用pm2 delete 0pm2 start config.js --only app1删除并重新加载进程

pm2 info App1

version │ 1.1.0

现在它显示了我想要的版本号...但请记住...由于这是链接到一个静态文件,您将需要手动更新package.json文件的任何更改的版本号。

相关问题