ユーザーがサインアップしたときにウェルカム メールを送信する非常に単純な Rails アプリがあります。Gmail アカウントを使用してメッセージを送信しています。以下に示すように、Gmail アカウントのパスワードをアプリに保存しています。
アプリケーション.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
ENV.update YAML.load(File.read(File.expand_path('../application.yml', __FILE__)))
module TestMailApp
class Application < Rails::Application
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "my address",
:user_name => "my_gmail_name",
:password => ENV["MAIL_PASSWORD"],
:authentication => :plain,
:enable_starttls_auto => true
}
config.action_mailer.default_url_options = {
:host => "my address"
}
アプリケーション.yml
MAIL_PASSWORD: "my_password"
git リポジトリの application.yml ファイルに保存されているパスワードを非表示にしたいと考えています。application.yml を gitignore ファイルに追加しようとしましたが、アプリがクラッシュするだけです。
このパスワードを git リポジトリで非表示にして、アプリが引き続き機能し、アプリをプライベート リポジトリに配置する必要がないようにするにはどうすればよいですか?