3

我在 GitHub 和我的私有 Amazon 实例上都有一个 git 存储库,并且我通过唯一的提交更新了两者。

有一种方法可以database.yml只将文件提交到我的私人存储库而不是 GitHub 上吗?

如果有帮助,我正在使用 Capistrano 进行部署。

4

2 回答 2

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

希望这有帮助。

于 2012-09-12T20:47:28.117 回答
0

这里提供了另一种解决方案。如果您之前定义了环境变量,则可以在databases.yml文件中使用它们。

username: <%= ENV['POSTGRES_USERNAME'] %>
password: <%= ENV['POSTGRES_PASSWORD'] %>
于 2014-02-10T12:45:14.003 回答