如何使用 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
ProjectA
和 ProjectB
使用 libs
文件夹中的两个库,
如何在 heroku projectA
和 projectB
上部署,以便它们使用我的库中的资源?
还有一个问题,在 package.json 中,我在 heroku 上部署后使用此命令构建 projectA
:
"start": "node dist/apps/projectA/main.js",
如何部署projectB
,当在这个package.json中main.js
的路径必须不同?
感谢您的帮助!
【问题讨论】:
projectA
和 projectB
是其他的 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 应用程序,我如何确保它可以处理更高的负载?