我在GitHub和我的私有亚马逊实例上都有一个git存储库,并且我使用一个唯一的提交来更新它们。
有一种方法可以将文件database.yml
仅提交到我的私有存储库而不是GitHub吗?
如果有帮助,我正在使用Capistrano进行部署。
答案 0 :(得分:3)
在过去的几天里,我没有找到这个问题的答案,但后来我解决了我的问题,所以我会说我做了什么让事情有效。
由于我不必修改文件database.yml
,我解决了手动将其复制到我的Amazon实例并将其添加到.gitignore
的问题。
然后,我在deploy.rb
中添加了一个任务,将database.yml
链接到当前的部署目录
# copy db config
after "deploy:update_code", :copy_db_config
desc "copy db config file"
task :copy_db_config do
run "ln -s ~/path/where/I/copied/database.yml #{release_path}/config/database.yml"
end
希望得到这个帮助。
答案 1 :(得分:0)
提供了另一种解决方案here。如果您之前定义了环境变量,则可以在databases.yml
文件中使用它们。
username: <%= ENV['POSTGRES_USERNAME'] %>
password: <%= ENV['POSTGRES_PASSWORD'] %>