Typescript Node.js项目-部署到生产工作流程

时间:2020-04-02 12:02:07

标签: node.js typescript github production

如何为Node.js服务器应用程序设置dist构建和生产部署工作流程? (NestJS API)?

我当前的工作流程:

  1. 将更改提交到production分支
  2. 具有pm2的生产服务器会自动从此存储库中提取更改
  3. 在产品服务器上自动npm install
  4. 在产品服务器上自动npm run build
  5. 在产品服务器上自动pm2 start

在此工作流程中看到的主要问题是我正在生产服务器上运行build。这意味着我需要服务器上的所有devDependencies,并且在构建时也在服务器上实现性能峰值。

我已经在我的仓库上配置了GitHub Actions,以构建我的代码并将其保存为提交时的工件,但是现在我被困住了。

  • 我应该将生成的源代码提交到仓库中,然后在生产环境中使用pm2钩子吗?
  • 我应该通过某种脚本将工件下载到生产环境中,然后解压缩并运行它吗?我在这里看到一些问题:
    • /dist文件夹(工件)没有package.json和资产
    • 我失去了Git功能,因此我需要始终删除旧源并解压缩新源

1 个答案:

答案 0 :(得分:0)

我没有所需的全部信息,但是我想您应该在CI / CD工具(例如TraavisCI)上运行构建步骤,并将/dist文件夹的内容推送到生产环境中之后的服务器。然后,pm2将仅运行此生产版本。