如何从生产到开发机器下载文件

时间:2016-12-24 03:07:30

标签: ruby-on-rails heroku

我调试了有关我的资产的问题,并希望将Heroku上的公共/资源库的内容下载到我的开发机器上的文件夹中。最好的方法是什么?

我能做到

heroku run bash

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

2 个答案:

答案 0 :(得分:1)

徽标等资产应该是您的git仓库的一部分。如果你没有,你想从heroku下载回购,你可以做

heroku git:clone -a myapp

你也可以从heroku那里拉回购,比如

git pull heroku master

你可以从heroku中加入rebase,如

git pull --rebase heroku master

我希望这会有所帮助:)

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

答案 1 :(得分:0)

如果用户上传了heroku,那么heroku并不擅长持有资产。

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

我的设置是:

我的Gemfile

#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

上传者

的应用程序/上传/ 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

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

:)