当前位置:  开发笔记 > 编程语言 > 正文

使用monorepo时,如何让Heroku CI运行测试?

如何解决《使用monorepo时,如何让HerokuCI运行测试?》经验,为你挑选了0个好方法。

我在一个名为node-servermonorepo项目的子目录中有一个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并在子目录中执行测试吗?

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有