2012-09-12 78 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'] %>