Node.js 如何在Heroku上部署Git LFS?
我已经在Node.js上完成了一个项目,这个项目已经推到GitHub上,这个项目有一个大于100MB的视频,需要Git LFS。Git LFS成功地推送到GitHub,没有任何问题 这个项目的第二阶段是在Heroku举办,这就是我被卡住的地方。我尝试了两种方法:Node.js 如何在Heroku上部署Git LFS?,node.js,github,heroku,git-lfs,Node.js,Github,Heroku,Git Lfs,我已经在Node.js上完成了一个项目,这个项目已经推到GitHub上,这个项目有一个大于100MB的视频,需要Git LFS。Git LFS成功地推送到GitHub,没有任何问题 这个项目的第二阶段是在Heroku举办,这就是我被卡住的地方。我尝试了两种方法: heroku buildpacks:add https://github.com/BureauxLocaux/heroku-buildpack-git-lfs.git 及 当使用 git push heroku master --no
heroku buildpacks:add https://github.com/BureauxLocaux/heroku-buildpack-git-lfs.git
及
当使用
git push heroku master --no-verify
我得到以下错误:
remote: -----> Git LFS app detected
remote: Env var BL_BUILDPACK_GIT_LFS_REPO is not set
remote: ! Push rejected, failed to compile Git LFS app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to intense-journey-80070.
remote:
To https://git.heroku.com/intense-journey-89070.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/intense-journey-89070.git'
我怎样才能做到这一点呢
heroku buildpacks:add(heroku提供的应用程序名称)/heroku buildpack git lfs
但是你不应该在这里使用你的应用程序名。我猜你想用?在这种情况下,你真的应该这样做
heroku构建包:添加https://github.com/BureauxLocaux/heroku-buildpack-git-lfs.git
您还会收到一条错误消息,上面说
Env var BL\u BUILDPACK\u GIT\u LFS\u REPO未设置
buildpack还需要一些额外的配置,如Heroku上的buildpack页面所述,您似乎没有这样做:
为应用程序设置以下环境变量:
到要从中下载GIT LFS资产的存储库的克隆URL。这应包括非交互式克隆所需的任何用户名、密码或个人访问令牌。有关语法的详细信息,请参见。它必须类似于BL\u BUILDPACK\u GIT\u LFS\u REPO
git@github.com:BureauxLocaux/my repo
:您的私钥使用BL\u BUILDPACK\u GIT\u LFS\u SSH\u PRIVATE\u KEY
base64-w 0在base64中编码。您可以使用
进行设置heroku config:set--app-prepod-bureauxlocaux“BL\u BUILDPACK\u GIT\u LFS\u SSH\u PRIVATE\u KEY=$(cat~/.SSH/heroku\u deploy\u LFS | base64-w 0)”
私有SSH密钥应该受到近乎偏执的保护,因此请确保使用仅用于部署此存储库的专用SSH密钥。尽可能为部署密钥提供最低级别的权限。Heroku不支持链接到大型文件系统(LFS)的文件 因此,您需要移动到heroku上的设置,以将配置变量添加为键“heroku\u BUILDPACK\u GIT\u LFS\u REPO”的值“https://github.com//repository.GIT”令牌是唯一的个人访问令牌。 您需要在GitHub>设置>开发者设置中注册,以便Heroku访问您的LFS文件,并在构建包中链接以安装LFS“https://github.com/raxod502/heroku-buildpack-git-lfs.git“
最后,点击deploy(部署)部分的deploy(部署)按钮,您的项目就完成了,可供通过internet访问的用户使用。基本上,您只需按照本文中的说明操作即可。我需要说的是,当您注册GitHub应用程序时,您需要填写的“Webhook URL”和“Homepage URL”都是您使用heroku创建的URL(示例格式:https://.herokuapp.com).嗨,克里斯,谢谢你的回复。我试过了,但还是出现了同样的错误。还跟踪了heroku网站上的内容。还是不走运。此外,还对问题进行了编辑,使其更加清晰。“请耐心听我说,我是新来的。”冉说,这条信息应该比“预接收”更多。请编辑您的问题并添加之前的内容。另外,您试图通过LFS注入多大的负载?我已经更新了问题中的错误消息,负载是287MB的图像和一个187MB的大视频,尤其是视频。@Ran,您还没有配置构建包。我更新了我的答案,但请记住阅读您正在使用的工具的文档。这就在自述中。(我回答的第一部分仍然是相关的。添加一个URL指向您正在修改的应用程序的构建包没有意义。)
remote: -----> Git LFS app detected
remote: Env var BL_BUILDPACK_GIT_LFS_REPO is not set
remote: ! Push rejected, failed to compile Git LFS app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to intense-journey-80070.
remote:
To https://git.heroku.com/intense-journey-89070.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/intense-journey-89070.git'