こんにちは。Web系エンジニアのカズです。エンジニア歴は7年になります。
今回は開発環境・テスト環境・ステージング環境・本番環境のそれぞれの違いや必要になるスキルについて記事にしました。
4つの環境の違いについて難しい説明は省き、イメージだけでも掴んでもらえればと思います。
というのも個人開発をしているときは、せいぜい開発環境と本番環境くらいしか意識しないのではないでしょうか。
しかし現場に入ると大体は4つ環境が分かれています。
本記事の内容はこちら。
・開発環境・テスト環境・ステージング環境・本番環境の違い
・必要なスキル
・Gitのブランチ管理と運用フロー例
開発環境・テスト環境・ステージング環境・本番環境の違い
※各環境の呼び名は現場によって異なる場合があります。
開発環境
テスト環境
ステージング環境
ステージング環境または検証環境など呼び名はいくつかあります。
本番環境の一つ手前の環境になり、クライアントが閲覧可能なテスト環境になります。
当然ながら本番環境におかしな動きをする画面は絶対に反映したくありません。
ステージング環境でクライアント様にも画面を見てもらい最終チェックをするための環境です。
本番環境
各環境の違いのイメージまとめ
・開発環境:個人開発環境。自分だけが閲覧可能
・テスト環境:各開発者の環境の統合環境。各開発者が閲覧可能
・ステージング環境:本番環境前の最終確認環境。クライアントも閲覧可能。
・本番環境:現在稼働している環境
必要なスキル
各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であればステージングに反映する。
クライアントに確認してもらって本番環境反映のイメージになります。
コメント