Marchan4
@Marchan4 (Marchan4)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

railsアプリを外部に公開したら、railsアプリの.envファイルの中身も(実際のMySQLログインユーザ名と実際のMySQLログインパスワード)外部に公開されてしまうのでしょうか。

現在railsアプリを製作中なのですが、

railsのmysqlのログインユーザ名とログインパスワードを外部に公開しないために

Gemfileに以下のコードを記述して

gem 'dotenv-rails'

以下のコマンドで上記のgemをインストールして、

$ bundle install

database.ymlに以下のコードを記述して、

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: <%= ENV.fetch("DB_USERNAME") %>
  password:  <%= ENV.fetch("DB_PASSWORD") %>
  socket: /tmp/mysql.sock

.envファイルに以下の通りに実際のログインユーザ名とログインパスワードを記述して、

DB_USERNAME = 自分のMySQLのログインユーザ名
DB_PASSWORD = 自分のMySQLのログインパスワード

railsアプリのフォルダやファイルなどのデータをGitHubのローカルリポジトリにコミットして、そのローカルリポジトリをリモートリポジトリにプッシュして反映させたら、

railsアプリの.envファイルの中身も(実際のMySQLログインユーザ名と実際のMySQLログインパスワード)外部に公開されてしまうのでしょうか。

0

1Answer

もし .env ファイルをコミットして GitHub のパブリックなリポジトリに push したら外部から見えるようになります。 .env ファイルは普通は開発環境だけで使うものなので、コミットしないようにしてください。

本番環境では .env ファイルではない方法で環境変数を設定することになります。たとえば Heroku ではアプリの環境変数を CLI や設定ページからセットできます。 https://devcenter.heroku.com/ja/articles/config-vars
こうしてセットした環境変数は外部から見られることはありません。

1Like

Your answer might help someone💌