概要
プレビュー環境、マルチステージング環境などと呼ばれる環境について要件を整理する。
要件
- プルリクエスト(任意のブランチ)のコードをデプロイできる
- 他の開発者と分離された環境をデプロイできる
- プルリクエストにラベルを貼るとインフラが作成される
- プレビュー環境が必要ないプルリクエストを考慮する(Renovateなど)
- 短い時間で起動できる
- 3分以上待つのは厳しい
- 起動するリソースの種類を考慮する
- ロードバランサーやストレージは起動に時間がかかるので起動しなくて済む設計にする
- 環境変数を変更できる
- プルリクエストごとにURLが発行される
- リクエストはパスベースでルーティングする
- デプロイされたら通知が来る
- リポジトリ名
- アプリケーション名
- コミットハッシュ
- URL
- プルリクエストがクローズされたらインフラリソースが削除される
まとめ
プレビュー環境に必要な要件を整理した。
他にも検証用に開発メンバー個人専用の環境を用意する方法もある。