Node.js 使用PM2运行多个git分支

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配置为在不同端口上运行不同

我有一个express应用程序,它有三个分支:master、staging和development。我想同时运行所有三个分支,每个分支位于不同的端口,即3000上的master、3001上的staging、3002上的development

我希望通过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
,并在自己的端口上运行每个分支

有人知道更简单的方法吗