使用Capistrano部署.env文件

时间:2016-02-20 22:47:40

标签: ruby-on-rails ruby environment-variables capistrano capistrano3

我希望在使用Capistrano部署时从本地计算机将.env文件上传到我的远程计算机,但由于我不是Ruby专业人员,因此我无法得到我想要的结果。我想要做的是拿我的本地.env并在shared_path的远程机器上使用它。之后,只需将其与current_path进行符号链接即可。

namespace :env do
  desc "We take local env and set up on remote"
  task :setup do
    on roles(:app), in: :sequence, wait: 5 do  
      puts File.read(".env"), "#{shared_path}/config/.env"

      execute "ln -nfs #{shared_path}/config/.env #{current_path}/.env"
    end
  end
end

现在,此代码将.env创建为空文件。我做错了什么?或者我应该只用Capistrano执行rsync或其他东西以实现我想要的目标?

1 个答案:

答案 0 :(得分:2)

我认为puts不会在那里工作。

尝试使用capistrano的upload method

upload(from, to, options={}, &block)

相关问题