![見出し画像](https://assets.st-note.com/production/uploads/images/56178761/rectangle_large_type_2_acf34d5234c0d6458358867eb90e97ab.png?width=1200)
開発環境、テスト環境、ステージング環境、本番環境について
2020.04.23 開発環境、テスト環境、ステージング環境、本番環境について(2020.04.24 更新)
先日、テスト環境とステージング環境について先方の担当さまとやりとりをする機会があったのですが、どこか噛み合っていないと感じることがありました。自分の認識の再確認も含め、開発環境、テスト環境(検証環境)、ステージング環境、本番環境について私の経験したパターンでまとめることにしました。
■ 開発環境
制作担当者がはじめにローカル環境を利用して動作確認などを行うところ。
環境の用意と管理は制作会社側で行います。
ここでの確認で問題が無いようならテスト環境での検証段階に入ります。
■ テスト環境(検証環境)
制作内容に問題が無いか検証する環境です。
秘匿性の高い情報を扱う場合もあるので環境の用意と管理はクライアント側で行うのが望ましいと思いますが、状況により制作会社側で行うこともあります。
誤記やリンクミス、動作に不具合が無いかを社内検証し、修正が必要な場合には修正対応をします。
社内検証が済んだ後はクライアントチェックやFB対応を行い、この段階でクライアントOKまで作業します。
■ ステージング環境
本番環境とほぼ同じ環境になります。環境の用意と管理はクライアント側で行うのがほとんどです。
同じ環境とは、リバース プロキシ、SSL 設定、またはロードバランサなどを含めて本番環境と同じ構成にし、本番環境をほぼ複製したものになります。
アップするファイルも本番環境と同じものだけです。
テスト環境でOKが出たものをアップし、動作や不具合が無いかを最終チェックします。テスト環境とはサーバ構成が異なるため、テスト環境では問題が無くてもステージング環境では問題が出る場合があり、ステージングで問題が出るということは本番でも同じ問題が出る可能性が限りなく高いということになります。
ステージング環境での検証は、誤記やリンクミスなどの掲載内容についてではなく、動作や表示など閲覧するのに問題が無いかが焦点になります。
誤記やリンクミスなどの掲載内容に関する検証・修正はテスト環境の段階で済ませてステージング環境では検証しません。
基本的に本番環境と同じ環境なため、下記のようなものは置きません。
●テスト環境での修正などで発生した不要ファイル
●複数パターンのページを用意しテスト確認を行い、採用されなかった案
例)テスト環境で同一ページのA案とB案を作成してクライアント確認を行い、A案が採用された場合にはA案のみステージング環境に置く。B案は不要ファイルとなるのでステージング環境には置きません。
●同一ページに異なる公開日で複数更新が入った場合、
例)同一ページに4/1、4/3公開の更新が入った場合、4/1分公開後から4/3分の作業を着手すると間に合わないとします。その場合はファイル名をindex.html(公開ファイルと同じファイル名)とindex_0403.htmlなどと分けて並行で作業・確認を行いますが、ステージング環境へはindex.htmlのみアップします。
4/1分の公開後に4/3分のindex_0403.htmlをindex.htmlへリネームしてステージング環境へアップします。
並行作業用に用意したindex_0403.htmlは本番環境には無いファイルなのでステージング環境には置きません。
■ 本番環境
ステージング環境でOKになったものをアップするところ。環境の用意と管理はクライアント側で行うのがほとんどです。
私たちがサイト閲覧をしてる環境になります。
○ 開発環境~本番環境まで以下のようなイメージです。
大きくわけてしまうとテスト環境(検証環境)もステージング環境も「テスト」環境ということになるので、この2つの違いがうまく伝えることができていなかったのが、話が噛み合っていないと感じた大きな原因でした。
各環境の役割(テストでは行うが、ステージングでは行わないことなど)の違いを自分では理解していて先方へ伝えているつもりでいましたが、まとめてみて自分の理解が足りていない点と説明が不十分だった点を認識しました。
説明が不得手な自覚はありますが、要点を外さないこと、この言葉で伝わると思い込まないことを常に念頭に置こうと思います。
※参考サイト
■ステージング環境とは?構築の際に気を付けるべき点を解説!|ITトレンド
https://it-trend.jp/development_tools/article/32-0033
■ステージング環境とは?開発環境、検証環境との違いと役割 | WWWクリエイターズ
http://www-creators.com/archives/780
■Confluence のアップグレード用にステージング環境を作成する - アトラシアン製品ドキュメント
https://ja.confluence.atlassian.com/doc/create-a-staging-environment-for-upgrading-confluence-866094180.html
■ステージング環境とは結局なんなのか。 - Qiita
https://qiita.com/mastar_3104/items/76739b05886d5bd42d90