我正在使用PM2进行部署/流程管理,并且该应用程序可以处理许多DNS任务,因此,如果我从远程服务器上运行开发应用程序,并且在保存时进行Rsyncing或SFTPing,这是最简单的方法(仍在进行排序)
是这种情况,这是开发人员应用程序与生产应用程序位于同一VM上的想法。但是,PM2部署配置文件(ecosystem.config.js
)的结构似乎无法实现这一点,因为当我运行pm2 deploy development
时,开发版本会取代VM上的生产过程。
这是我所拥有的:
module.exports = {
apps: [
{
name: "APP NAME",
script: "app.js",
env_development: {
NODE_ENV: "development",
...
},
env_production: {
NODE_ENV: "production",
...
}
}
],
deploy: {
production: {
user: "user",
host: ["123.123.123.123"],
ref: "origin/master",
repo: "git@gitlab.com:me/repo.git",
path: "/var/www/app",
"post-deploy":
"npm install && pm2 reload ecosystem.config.js --env production"
},
development: {
user: "user",
host: ["123.123.123.123"],
ref: "origin/master",
repo: "git@gitlab.com:me/repo.git",
path: "/var/www/app-dev",
"post-deploy":
"npm install && pm2 reload ecosystem.config.js --env development"
}
}
};
有没有想到实现此目标的最佳方法?
答案 0 :(得分:0)
在引用此PR之后,我认为您应该可以将x++;
printf("x = %d\n", x);
++x;
printf("x = %d\n", x);
x++;
y = x;
作为属性添加到append_env_to_name: true
的{{1}}数组中的对象中: / p>
因此,您更新后的apps
文件如下:
ecosystem.config.js