※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
デプロイとは
デプロイとは、自身のpcで開発していたアプリ(サービス)を公開すること
アプリの環境には3種類ある
環境の種類 | 概要 |
---|---|
本番環境(production) | ユーザーが使っている環境 |
ステージング環境(staging) | 本番環境をコピーした環境 新機能をリリースする前に動作確認をする |
開発環境(development) | pc内で開発している環境 |
- 自分のpcで開発しているローカル開発環境では、外部から見ることが出来ない
- クラウドにデータを公開して、みんなが見られるようにする
サーバーやクラウドの設定はめちゃくちゃ難しい・・・
Herokuというサービスが便利なので、これを使う
環境変数
環境変数とは、コンピューターが保持している変数のこと
大事な機密情報には環境変数を使うこと
AWSのアクセスコードなど大事な情報をプログラムに記述すると・・・
GitHubを公開したり他人と共有したときに、情報が漏れてしまう!!
勝手に使われて、高額請求されてしまう可能性も・・・
プログラムのソースコードからAWSのアクセスコードを書かないと、AWSにアクセスできない
→でも、ファイルに直接書かないようにする
そのため、環境変数を使うこと!
環境変数はコンピューターが保持しているので、公開されることがない
環境変数の設定
Gemfileを開く
group :development, :test do
には、開発環境(development)で使うものを入れる
そこにgem 'dotenv-rails'
を追加する
group :development, :test do
# 中略
gem 'dotenv-rails'
end
本番環境ではHerokuの機能を使うので、↑は開発環境でのみ使う
config/application.rbを開く
Dotenv::Railtie.load
を書き加える
module Practice55BlogApp
class Application < Rails::Application
# 中略
Bundler.require(*Rails.groups)
Dotenv::Railtie.load
ターミナルでbundle install
する
bundle install
インストール完了!
.envのファイルを作る
適当に文字を入れてみる
AWS_API_TOKEN='ASDFGHJKL'
コンソール画面で、読み込めているか確認する
rails c
ENV['AWS_API_TOKEN']
# => "ASDFGHJKL"
ちゃんと読み込めている!
ただ、ここに機密情報を書いたら流出しちゃうのでは?
gitignore(Gitで管理しない)
.gitignoreに書かれたファイルは、Gitで管理されない
GitHubに載せないので、機密情報が外部に流出することがない
↓.gitignoreに書く前
↓.gitignoreに.envを追加
追加したら、「.env」のファイルがグレーになった
グレーのファイルは、Gitで管理されない
Sourcetreeにも「.env」が出てこない
#DAY26