2012-09-12 52 views
2

多的Git仓库密码我都在GitHub上和我的私人亚马逊实例,并用独特的提交我同时更新一个Git仓库。隐藏DB与在Rails应用程序

有一种方法将文件提交database.yml只到我的私人资料库,而不是在GitHub上?

如果能帮上忙,我使用Capistrano的部署。

回答

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

这也是我一直在做:http://www.tigraine.at/2011/09/25/securely-managing-database-yml-when-deploying-with-capistrano/ – Tigraine

+0

@Tigraine大:)不幸的是我过去几天没有看到你的帖子..我可以节省很多时间 –

0

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

username: <%= ENV['POSTGRES_USERNAME'] %> 
password: <%= ENV['POSTGRES_PASSWORD'] %>