如何将文件复制到capistrano共享文件夹

jua*_*tas 5 capistrano ruby-on-rails

我的文件config/secrets.yml必须在共享文件夹中的远程服务器中.它不在我的git repo中,因此它不会像其他常规文件一样更新.

我不知道第一次如何生成文件.

到目前为止我所做的是每次部署时创建一个符号链接

run "ln -nfs #{shared_path}/config/secrets.yml #{release_path}/config/secrets.yml"
Run Code Online (Sandbox Code Playgroud)

哪个会在每个部署中"更新"文件,但第一次?如何生成secret.yml第一次?

Gha*_*har 7

您必须添加到.gitignore文件:

/config/secrets.yml
Run Code Online (Sandbox Code Playgroud)

上限任务:

task :symlink_config, roles: :app do
  run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
  run "ln -nfs #{shared_path}/config/secrets.yml #{release_path}/config/secrets.yml"
end
after "deploy:finalize_update", "deploy:symlink_config"
Run Code Online (Sandbox Code Playgroud)

共享文件夹中的.yml文件我通常自己创建它.