今回、アプリ開発する際の基本的な三つのステップについての解説とそれを踏まえてRuby on railsの環境の確認と指定をする方法についてご紹介します。
開発環境の基本的な三つのステップ
システムやアプリケーションをチームで開発し、実際にリリースさせるまでには大きく分けて以下の三つのステップがあります。
- 開発環境 (development)
- テスト環境 (test)
- 本番環境 (production)
それぞれの環境の役割は以下の通りです。
開発環境 (development)
例えば、私がブログサイトを作成していてログイン機能を実装する場合、まず自身のPC(ローカル開発環境)でコードを書きログイン機能を実装します。
ログイン機能の実装が完了したら元々存在するブログサイトの機能と統合(Merge)させ、エラーや不具合がないかを確認します。
その作業は一般的に開発環境 (development)で行われます。
テスト環境 (test) ステージング環境
開発環境でログイン機能を追加し問題なく統合することができたら、次はリリースする予定の機能をテスト環境で問題がないかどうかの検証をします。
開発環境とテスト環境を切り分けることによって、開発者は平行して開発環境 (development)で別機能の実装をすることができます。
本番環境 (production)
テスト環境で機能を検証し問題がなければ、本番環境にデプロイします。
-
- デプロイ・・・主にネットワークを通じて提供されるWebアプリケーションなどのシステム開発工程において、システムを利用可能な状態にすることである。
ブログの記事投稿するまでに流れで例えると、
- 開発環境 (development) →記事作成
- テスト環境 (test) → プレビューで確認。誤字脱字等があれば修正。
- 本番環境 (production) →問題がなければ、記事を公開!!笑
というような流れでシステムやアプリケーションの開発は行われていきます。
Ruby on railsで用意されている三つの環境
Ruby on railsでは以下の三つの基本的な環境がデフォルトで用意されています。
- 開発環境 (development)
- テスト環境 (test)
- 本番環境 (production)
デフォルトの環境ではdevelopmentが使用されており、環境をパラメータで渡すことでデフォルト以外の環境を指定することができます。
現在の環境を確認する方法
rails consoleでコマンド上で現在の環境を確認することができます。
また、
Rails.env.環境名?
を実行することによって現在の環境について真偽値で判定をしてくれます。
$ rails console Running via Spring preloader in process 10655 Loading development environment (Rails 5.2.1) No entry for terminal type "twittter"; using dumb terminal settings. irb(main):001:0> Rails.env => "development" irb(main):002:0> Rails.env.development? => true irb(main):003:0> Rails.env.test? => false irb(main):004:0> Rails.env.production? => false irb(main):005:0>
コード内で環境に合わせて条件分岐したい場合
コードの中で環境に合わせて条件分岐をする場合は
if Rails.env.production? end
のように記載すればproduction(本番環境)の場合のみ条件分岐内のコードが適応されます。