【问题标题】:How to download files from production to development machine如何将文件从生产机器下载到开发机器
【发布时间】:2016-12-26 08:07:02
【问题描述】:

我调试了一个关于我的资产的问题,并且想将 Heroku 上的 public/assets 库的内容下载到我的开发机器上的文件夹中。最好的方法是什么?

我可以的

heroku run bash

这会在我的本地开发机器上启动一个 heroku bash shell。使用它,我可以在应用程序的 heroku 实例上列出文件。但是如何将这些文件复制到本地开发机器的文件系统中呢?

【问题讨论】:

    标签: ruby-on-rails heroku


    【解决方案1】:

    像标志这样的资产应该是你的 git repo 的一部分。如果你没有并且你想从 heroku 下载 repo,你可以这样做

    heroku git:clone -a myapp
    

    你也可以像

    一样从 heroku 中提取 repo
    git pull heroku master
    

    你也可以像

    一样从 heroku 中变基
    git pull --rebase heroku master
    

    我希望这会有所帮助:)

    https://devcenter.heroku.com/articles/git-clone-heroku-app

    【讨论】:

    • 我已经接受并赞成这一点,因为它回答了我的问题。但是,它并不能解决我的问题。我想从特定版本下载资产。如果我回滚到该版本并执行git pull heroku master,则表示它是最新的。据我所知,heroku 上的 git 存储库是我本地机器上的一个副本,因此不包括通过在 heroku 上预编译添加的资产。知道如何解决这些问题吗?
    • 这些资产可以在 .gitignore 中吗?
    • 不,它们不在 .giitignore 中。问题是如果预编译发生在 heroku 上,那么它们就不会被提交。
    【解决方案2】:

    heroku 特别不擅长持有用户上传的资产。

    我建议使用carrierwave 上传它们,然后你可以将你的终点指向与 prod 相同。

    我的设置是:

    我的宝石文件

    #Gemfile 
    gem 'fog', "~> 1.3.1"
    gem 'carrierwave'
    

    初始化器

    #config/initializers/carrierwave.rb
    CarrierWave.configure do |config|
      config.storage = :fog
      config.fog_credentials = {
        :provider               => 'AWS',
        :aws_access_key_id      => ENV['CARRIER_WAVE_ACCESS_KEY'],
        :aws_secret_access_key  => ENV['CARRIER_WAVE_SECRET_ACCESS_KEY']
      }
      config.cache_dir = "#{Rails.root}/tmp/uploads"
      config.fog_directory  = ENV['CARRIER_WAVE_BUCKET']
      config.fog_attributes = { 'Cache-Control'=>'max-age=315576000' }
    end
    

    上传者

    app/uploaders/file_uploader.rb

    # encoding: utf-8
    class FileUploader < CarrierWave::Uploader::Base
      # Include RMagick or MiniMagick support:
      # include CarrierWave::RMagick
      # include CarrierWave::MiniMagick
    
      def store_dir
        "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
      end
    end
    

    我知道这不完全是你的问题,但我希望它有所帮助

    :)

    【讨论】:

    • 对不起,这没有帮助。当然,Heroku 确实存储了 ruby​​ on rails 应用程序使用的图像资产等,例如徽标。这是我要下载的资产。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 2021-12-30
    • 2020-04-23
    相关资源
    最近更新 更多