将客户端和服务器代码部署到Heroku

8gsdolmq  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(176)

我有一个代码库,如下所示:

rootfolder
    -- backend
    -- frontend
    -- .git

.git文件夹,因此整个版本控制位于rootfolder中,每个子文件夹(backendfrontend)都有一个package.json和一个package.lock文件

后端项目是NestJs应用程序
最前面的项目是一个Angular 应用程序
为了提供客户端文件,我指定了后端应用程序的**/路由来提供静态文件,这些文件是前端的编译版本
在localhost中,它的工作原理就像一个符咒,当部署到Heroku时,它就会出现
我有CI/CD管道可以自动执行此任务,但它们失败了,因为Heroku无法在
rootfolder中检测到package.json文件
我只需要运行我的服务器(在
backend文件夹内)来启动我的整个应用程序,有没有办法指向Heroku的package.json文件在哪里?或者让它进入正确的目录?
问题的起因是,我使用CI/CD管道推送整个
根文件夹**Idk。如果我应该只推送具有静态客户端文件的服务器应用程序,如果可能的话,我不希望删除CI/CD管道

ymdaylpp

ymdaylpp1#

对于每个人在那里仍然徘徊相同有一个脚本提供的heroku在那里你可以运行逻辑之前建设过程
在我的例子中,我使用以下脚本在rootfolder级别创建了一个package.json文件

"scripts": {
"heroku-prebuild": "(cd ./backend && npm install && npm run build && cd ../frontend && npm install && npm run build:frontend)",
 "start": "(cd ./backend && npm run start)",
}

使用heroku-prebuild命令,我可以cd到mibackendprotected文件夹,然后构建它,然后cd到我的frontendprotected文件夹,然后运行我的自定义build:frontend命令,该命令编译我的前端应用程序,然后将其放在我的后端项目中的指定文件夹中,作为后端的静态文件

相关问题