node-server
我在一个名为monorepo 项目的子目录中有一个 nodejs 应用程序。
当我直接执行这样的推送时,我能够利用heroku-buildpack-monorepo项目将节点服务器目录部署到 Heroku:
git push heroku master
这将运行 monorepo buildpack,它将子文件夹复制到暂存目录,清除整个根结构,然后将根目录替换为暂存目录的内容。然后它继续自动检测我的 nodejs buildpack,一切正常。
但是现在,我正在尝试设置 Heroku CI,以便在我直接提交到 Github 时自动检测和运行我的测试并暂存我的应用程序:
git push origin mybranch
我已经按如下方式设置了我的 app.json 文件:
{
"environments": {
"test": {
"buildpacks": [
{
"url": "https://github.com/lstoll/heroku-buildpack-monorepo"
},
{
"url": "https://github.com/heroku/heroku-buildpack-nodejs"
}
],
"env": {
"APP_BASE": "node-server"
}
}
}
}
问题是 Heroku 在暂存代码以进行测试执行时设置了一个只读文件系统,从而使 monorepo buildpack 无法使用:
-----> Fetching https://github.com/heroku/heroku-buildpack-nodejs buildpack...
buildpack downloaded
-----> Monorepo app detected
rm: cannot remove '/app': Read-only file system
FAILED to copy directory into place
有没有其他方法可以让 Heroku CI 与 monorepo 一起工作,以便它可以检测 buildpack 并在子目录中执行测试?