【新人エンジニア向け】開発環境・テスト環境・ステージング環境・本番環境について

※本サイトはアフィリエイトリンクを掲載しています。
学習方法

こんにちは。Web系エンジニアのカズです。エンジニア歴は7年になります。

今回は開発環境テスト環境ステージング環境本番環境のそれぞれの違いや必要になるスキルについて記事にしました。

4つの環境の違いについて難しい説明は省き、イメージだけでも掴んでもらえればと思います。

というのも個人開発をしているときは、せいぜい開発環境と本番環境くらいしか意識しないのではないでしょうか。

しかし現場に入ると大体は4つ環境が分かれています。

本記事の内容はこちら。

・開発環境・テスト環境・ステージング環境・本番環境の違い

・必要なスキル

・Gitのブランチ管理と運用フロー例

開発環境・テスト環境・ステージング環境・本番環境の違い

※各環境の呼び名は現場によって異なる場合があります。

開発環境

開発環境またはローカル環境とも言いますが、これは自分のPCでしか見れない個人の開発をする環境です。
Git管理されているプロジェクトであれば、masterブランチまたはmainブランチなどからブランチを切って開発を進めることになると思います。

テスト環境

簡単に言えば、開発環境でそれぞれの開発者が作業していた作業ブランチを統合したブランチの環境のことです。
自分の作業ブランチで正常に動作していても、各開発者の作業ブランチを統合したときに挙動がおかしくならないかを確認するために必要です。
テスト環境は開発者などプロジェクトを進行している人がテストする環境です。

ステージング環境

ステージング環境または検証環境など呼び名はいくつかあります。

本番環境の一つ手前の環境になり、クライアントが閲覧可能なテスト環境になります。

当然ながら本番環境におかしな動きをする画面は絶対に反映したくありません。

ステージング環境でクライアント様にも画面を見てもらい最終チェックをするための環境です。

本番環境

現在サービスが稼働している環境です。

各環境の違いのイメージまとめ

・開発環境:個人開発環境。自分だけが閲覧可能

・テスト環境:各開発者の環境の統合環境。各開発者が閲覧可能

・ステージング環境:本番環境前の最終確認環境。クライアントも閲覧可能。

・本番環境:現在稼働している環境

 

必要なスキル

各4つの環境について触れてきましたが、この4環境を扱うには下記の2つのスキルが必要です。

・Linux操作・Linuxコマンド

・Git

Linuxコマンド

各4つの環境について触れてきましたが、ステージング環境と本番環境を操作する際にはLinux上でコマンドを打つという作業が大抵は必要になります。

なぜならステージング環境と本番環境はサーバーがそれぞれ分かれていることが多いからです。

そのためLinux上でサーバー接続してDBのデータの設定を行ったり、ソースを反映したりすることをコマンドを打って実行する必要があります。

現場に入るまでの学習では意外にも優先順位が下がって学習しないことが多いです。(過去私もそうでした。)

ですが、Linuxコマンドは結構使用するので余裕があるときに触っておきましょう。

Git

現場で勤務するからにはGitは最低限使えないといけないです。

開発作業の一部とみなされるくらいのレベルです。

環境構築時にも必要になります。

最低でも下記くらいの実行はできるようにしておきましょう。

・リモートリポジトリからローカルリポジトリにcloneして開発環境を構築

・mainブランチをプルして最新化してから作業ブランチを切る。

・作業ブランチをmainブランチにpush

・その他:merge,fetch,コンフリクトの修正など

 

Gitのブランチ管理と運用フロー例

4つの環境を想定した運用例はこんな感じです。運用の仕方やブランチ名は現場によると思うので参考までに。

開発環境でソースコード修正と単体テストが完了したら、mainブランチにpushしてプルリクエストを出してソースコードの添削をしてもらいます。

添削OKであればステージングに反映する。

クライアントに確認してもらって本番環境反映のイメージになります。

 

コメント