我有一个代码库,如下所示:
rootfolder
-- backend
-- frontend
-- .git
.git文件夹,因此整个版本控制位于rootfolder中,每个子文件夹(backend和frontend)都有一个package.json和一个package.lock文件
后端项目是NestJs应用程序
最前面的项目是一个Angular 应用程序
为了提供客户端文件,我指定了后端应用程序的**/路由来提供静态文件,这些文件是前端的编译版本
在localhost中,它的工作原理就像一个符咒,当部署到Heroku时,它就会出现
我有CI/CD管道可以自动执行此任务,但它们失败了,因为Heroku无法在rootfolder中检测到package.json文件
我只需要运行我的服务器(在backend文件夹内)来启动我的整个应用程序,有没有办法指向Heroku的package.json文件在哪里?或者让它进入正确的目录?
问题的起因是,我使用CI/CD管道推送整个根文件夹**Idk。如果我应该只推送具有静态客户端文件的服务器应用程序,如果可能的话,我不希望删除CI/CD管道
1条答案
按热度按时间ymdaylpp1#
对于每个人在那里仍然徘徊相同有一个脚本提供的heroku在那里你可以运行逻辑之前建设过程
在我的例子中,我使用以下脚本在rootfolder级别创建了一个package.json文件
使用
heroku-prebuild
命令,我可以cd到mibackendprotected文件夹,然后构建它,然后cd到我的frontendprotected文件夹,然后运行我的自定义build:frontend
命令,该命令编译我的前端应用程序,然后将其放在我的后端项目中的指定文件夹中,作为后端的静态文件