加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

heroku部署需要很长时间

发布时间:2020-12-13 20:47:14 所属栏目:百科 来源:网络整理
导读:我们有一个相当大的应用程序正在使用heroku …它是一个使用browsercms作为基础的应用程序,它建立在它之上. Gemfile并不是那么大(我们没有比普通应用程序更多的宝石),但出于某种原因,部署需要15分钟.由于所有资产,将资产编译并推送到s3(通过assetsync)大约需
我们有一个相当大的应用程序正在使用heroku …它是一个使用browsercms作为基础的应用程序,它建立在它之上. Gemfile并不是那么大(我们没有比普通应用程序更多的宝石),但出于某种原因,部署需要15分钟.由于所有资产,将资产编译并推送到s3(通过assetsync)大约需要5分钟,但剩余的10分钟用于此期间:
----> Heroku receiving push   
-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.2.0
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment

任何人都有任何线索为什么这部分需要这么长时间? gemfile锁在repo中,并推送到heroku,这里是我们gemfile的要点:https://gist.github.com/aa44bbb06eed97736c20

编辑:我们在轨道3.2.7

当bundler使用具有git repo的gem时,它将下载整个git repo以包含gem,而不仅仅是master分支或任何分支是主分支.

我们在sferik的rails_admin gem中遇到了同样的问题.

如果您指定一个特定的分支,它可能会有所帮助:

gem "browsercms","3.5.3",git: 'git://github.com/josiahivey/browsercms.git',:branch => 'master'

一种方法是在进行更改之前和之后查看已编译的段塞大小.在我们的例子中,rails_admin负责我们的大小约30mb. Heroku也有100mb的大小限制,仅供参考.

您也可以尝试运行bundle pack命令,如下所示:

bundle pack --all

这将把你所有的宝石(也就是git的宝石,因为–all开关)放到你的vendor / cache目录中.

正如这个github所指出的那样是捆绑项目(看看最后,一个heroku家伙回应):

https://github.com/carlhuda/bundler/issues/67

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读