takumiのエンジニア技術ブログ

takumiのエンジニア技術ブログ

未経験からエンジニアを目指しています!技術定着の為にこのブログにアウトプットしていきます!気軽にコメント等いただけるとありがたいです!

githubにpushする際に環境変数を使ってAPI_KEYを隠す方法

f:id:golikyua:20191202135218j:plain

 

 

作成中のアプリでGoogle mapを使用指定と思いGoogle Cloud PlatformでAPI_KEYを取得しました。

githubにpushする際に、API_KEYを隠さずにそのままpushしたら、Google Cloud

Platformからメールで怒られたので、API_KEYを隠してpushする方法を学んだので合うプットします。

 

やること

・gem 'dotenv-rails' をインストール

・.envを作成して、環境変数API_KEYを代入する。

API_KEYをそのまま書いている部分を環境変数に変更する。

・.gitignoreファイルに.envを追加して、git管理下から外す。

 

gem 'dotenv-rails' をインストール

gemfileにgem 'dotenv-rails'を記入して、bundle install

Gemfile

...
...

gem 'dotenv-rails'

 

 

.envを作成して、環境変数API_KEYを代入する。

ルートディレクトリ直下に.envを作成する。

.env

GOOGLE_API_KEY = "<自分のAPI_KEY>"

以下のようにコンソールで確認すると代入したAPI_KEYの値が出力されます。

[1] pry(main)> puts ENV["GOOGLE_API_KEY"]
<自分のAPI_KEY>
=> nil

 

 

 

API_KEYをそのまま書いている部分を環境変数に変更する。

自分の場合application.html.erbにそのままのAPI_KEYを書いていたので以下のように変更

<html>

  <head>
  ...
  ...
   
   <script src="//maps.google.com/maps/api/js?v=3.23&key=<%= E 
   NV["GOOGLE_API_KEY"] %>"></script>
 

 

.gitignoreファイルに.envを追加して、git管理下から外す。

.envがpushされたらなんの意味もないので.gitignoreに以下のように.env.を追加

.gitignore

...
...


/.env

 

 

これでpushすれば環境変数だけが見えて、API_KEYを隠せました。

めっちゃ簡単!!