Node.js 使用PM2运行多个git分支
我有一个express应用程序,它有三个分支:master、staging和development。我想同时运行所有三个分支,每个分支位于不同的端口,即3000上的master、3001上的staging、3002上的development 我希望通过PM2实现这一点,但还没能实现。我试着使用一个类似下面的Node.js 使用PM2运行多个git分支,node.js,express,server,configuration,pm2,Node.js,Express,Server,Configuration,Pm2,我有一个express应用程序,它有三个分支:master、staging和development。我想同时运行所有三个分支,每个分支位于不同的端口,即3000上的master、3001上的staging、3002上的development 我希望通过PM2实现这一点,但还没能实现。我试着使用一个类似下面的ecosystem.config.yml,它成功地在端口3000-3002上运行应用程序,并注入相应的环境变量,但在所有三个端口上运行活动分支的代码 是否可以将PM2配置为在不同端口上运行不同
ecosystem.config.yml
,它成功地在端口3000-3002上运行应用程序,并注入相应的环境变量,但在所有三个端口上运行活动分支的代码
是否可以将PM2配置为在不同端口上运行不同的git分支?可能是通过PM2 deploy
命令和相关配置
module.exports = {
apps: [
{
name: "api",
script: "app.js",
watch: ".",
env: {
NODE_ENV: "production",
PORT: "3000",
},
},
{
name: "api-staging",
script: "app.js",
watch: ".",
env: {
NODE_ENV: "staging",
PORT: "3001",
},
},
{
name: "api-dev",
script: "app.js",
watch: ".",
env: {
NODE_ENV: "development",
PORT: "3002",
},
},
],
};
在这里回答我自己的问题。我发现,唯一可以轻松做到这一点的方法是,使用git clone--branch--single branch,在自己的目录中创建repo的每个分支的本地副本,例如,
git克隆——分支开发——单分支git@github.com:myuser/my-api.git api dev
将我的repo的开发分支克隆到本地目录/api dev
然后,在每个本地目录(其中包含我的repo的一个分支)中,我创建一个ecosystem.config.js
文件,该文件的配置适合于该分支,例如
module.exports = {
apps: [
{
name: "api-dev",
script: "app.js",
watch: ".",
env: {
NODE_ENV: "development",
PORT: "3002",
},
},
],
};
然后我可以在我的每个本地存储库中运行pm2 start econosystem.config.js
,并在自己的端口上运行每个分支
有人知道更简单的方法吗