簡體   English   中英

如何使用 PM2 僅將一個特定的 nodeJS 應用程序部署到一個特定的環境?

[英]How can I deploy only one specific nodeJS app to one specific environment with PM2?

我在 Digital Ocean 上部署了兩個 nodejs 應用程序,我正在學習 PM2。 我想知道如何單獨更新我的應用程序(服務)。

目前我的 pm2 配置如下所示:

// ecosystem.config.js
module.exports = {
  apps: [
    {
      name: `app1`,
      script: './app1.js',
      // ...
    },
    {
      name: `app2`,
      script: './app2.js',
      // ...
    }
  ],

  deploy: {
    production: {
      key: '',
      user: 'admin',
      host: '',
      ref: '',
      repo: '',
      path: '/home/admin/app/prod',
      'post-deploy': './deploy.sh production'
    },
    development: {
      key: '',
      user: 'admin',
      host: '',
      ref: '',
      repo: '',
      path: '/home/admin/app/development',
      'post-deploy': './deploy.sh development'
    },
  }
}

我可以按環境部署,例如pm2 deploy production
但是,我可以像pm2 deploy development app2只更新 app2 嗎?

你有很多方法可以做到這一點,對我來說,我總是在客戶端文件夾和服務器文件夾中創建生態系統文件,然后在根文件夾中創建發布生態系統文件,例如:

  • 客戶
    • 生態系統配置文件
  • 服務器
    • 生態系統配置文件
  • 生態系統配置文件

根生態系統文件如:

  deploy: {
    frontend: {
      ...other,
      path: '/app/easyv_spaceship',
      'post-deploy': 'cd ./client && npm install && npm run build'
    },
    backend: {
      ...other,
      path: '/app/easyv_spaceship',
      'post-deploy': 'cd ./server && npm install && npm run tsc && pm2 startOrRestart ecosystem.config.js --env production'
    }
  }

希望這能激勵你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM