如何使用 Heroku 上的库部署 monorepo

Posted

技术标签:

【中文标题】如何使用 Heroku 上的库部署 monorepo【英文标题】:How to deploy monorepo with using library on Heroku 【发布时间】:2021-06-12 00:53:51 【问题描述】:

我在 Github 上有一个带有 monorepo 项目的存储库,其中包括使用 NestJS 框架编写的库。结构如下:

MAIN FOLDER:
- apps:
-- projectA
-- projectB
- libs:
-- libraryA
-- libraryB

ProjectAProjectB 使用 libs 文件夹中的两个库,

如何在 heroku projectAprojectB 上部署,以便它们使用我的库中的资源?

还有一个问题,在 package.json 中,我在 heroku 上部署后使用此命令构建 projectA

"start": "node dist/apps/projectA/main.js",

如何部署projectB,当在这个package.json中main.js的路径必须不同?

感谢您的帮助!

【问题讨论】:

projectAprojectB 是其他的 Nestjs 项目吗? @WangLiang,嗯,是的,我正在使用这种模式:docs.nestjs.com/cli/monorepo 我添加了新问题,但在同一主题中 【参考方案1】:

我在网上寻找解决方案,但没有找到。所以我创建了一个新的 Heroku Buildpack。

所以基本上我所做的就是更新 package.json 脚本,并从 Heroku 配置变量中将附加应用程序设置为 NEST_APP。这是在运行nodejs buildpack 之前完成的,然后它照常执行脚本,在Procfile 中定义。

start:prod 大部分时间是在 Heroku 上执行的,它有一个特定的分发文件夹,所以我也更改了脚本的文件夹位置。

GitHub 上提供的 Buildpack:https://github.com/blubblub/heroku-buildpack-nest-monorepo

【讨论】:

以上是关于如何使用 Heroku 上的库部署 monorepo的主要内容,如果未能解决你的问题,请参考以下文章

如何通过部署在 Heroku 上的 Nodejs/Nestjs 服务器为我的 Angular 前端提供服务?

使用 Mongo Cloud 从部署在 Heroku 上的 Strapi 获取数据到 ReactJs

在 Heroku 上的 Play Framework 1.2 上部署 Java 应用程序,我如何确保它可以处理更高的负载?

Heroku 上的“'/blog/' 处的编程错误”

加快 Heroku 上的部署 [重复]

Heroku 上的 Node JS 支持版本