如何手动设置pm2应用的version元数据字段?
手动设置PM2进程版本号的两种方法
方法1:给每个应用添加极简package.json
PM2默认会读取应用脚本所在目录下package.json中的version字段,作为pm2 ls里的版本显示内容。你可以在每个应用的脚本目录创建一个仅包含版本信息的package.json:
比如针对App1,在/home/scripts/websockets/目录下创建package.json:
{ "version": "3.1.2" }
针对App2,同样在对应目录创建:
{ "version": "2.1.0" }
之后重启PM2应用:
pm2 restart ecosystem.config.js
再次执行pm2 ls,就能看到版本号正常显示了。
方法2:在PM2配置中通过cwd指定含版本的目录
如果不想在脚本目录创建文件,可以单独建立存放版本配置的目录,比如/home/app-versions/App1/,在里面创建带version字段的package.json,然后在PM2配置中指定cwd字段指向该目录:
修改你的PM2配置:
{ name: "App1", script: "/home/scripts/websockets/app1-websocket.js", cwd: "/home/app-versions/App1/", // 指向含package.json的目录 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", cwd: "/home/app-versions/App2/", 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/app-versions/App1/下创建对应版本的package.json,重启应用后即可生效。
内容的提问来源于stack exchange,提问作者user3788685
相关产品推荐
相关产品推荐

