简体   繁体   English

如何使用 PM2 仅将一个特定的 nodeJS 应用程序部署到一个特定的环境?

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

I have two nodejs app deployed on Digital Ocean, with PM2, which I am learning.我在 Digital Ocean 上部署了两个 nodejs 应用程序,我正在学习 PM2。 I'd like to know how I could update my apps (services) separately.我想知道如何单独更新我的应用程序(服务)。

At the moment my pm2 config looks like this:目前我的 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'
    },
  }
}

I can deploy per environment, like pm2 deploy production .我可以按环境部署,例如pm2 deploy production
But, can I do something like pm2 deploy development app2 to only update app2?但是,我可以像pm2 deploy development app2只更新 app2 吗?

You have many ways to do that, for me I always create ecosystem file in the client folder and server folder, then create publish ecosystem file in the root folder, like:你有很多方法可以做到这一点,对我来说,我总是在客户端文件夹和服务器文件夹中创建生态系统文件,然后在根文件夹中创建发布生态系统文件,例如:

  • client客户
    • ecosystem.config.js生态系统配置文件
  • server服务器
    • ecosystem.config.js生态系统配置文件
  • ecosystem.config.js生态系统配置文件

The root ecosystem file like:根生态系统文件如:

  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'
    }
  }

hope this can inspire you.希望这能激励你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用pm2和Capistrano部署NodeJS应用程序 - Deploy NodeJS app with pm2 and Capistrano 回滚pm2部署到特定提交 - Rollback pm2 deploy to specific commit 在特定环境下运行 PM2 Docker - Run PM2 Docker with specific environment 如何在我的应用程序中为特定路径禁用NodeJS Express,并允许其中之一访问特定的正则表达式? - How can I disable NodeJS Express for specific paths in my app and allow access to a specific regex in one of them? 使用 PM2 在 Azure 应用服务上部署 NodeJS 应用 - Deploy NodeJS app on Azure App service using PM2 使用 Docker 和 PM2 在 google kubernetes 引擎上部署 Nodejs 应用程序 - Deploy Nodejs app on google kubernetes engine using Docker and PM2 如何解决在 Windows 上的 PM2 中启动应用程序的问题? - How can I fix issues launching an app in PM2 on Windows? 使用PM2,如何将node.js应用程序部署到同一服务器上的多个环境和端口? - Using PM2, how can I deploy my node.js app to multiple environments and ports on the same server? 使用 PM2 在集群模式下运行 node.js 应用程序时,如何通过命令行加载环境变量? - How can I load environment variables via command line when running a node.js app in cluster mode with PM2? 使用PM2扩展Node.js应用 - Scaling nodejs app with pm2
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM