Squadbase logo

Environment

Squadbaseでの環境管理

Environmentとは

Environmentは、プロジェクトの実行環境を管理する機能です。本番環境とプレビュー環境を分けて管理することで、安全な開発とデプロイが可能になります。

主な特徴

  • Production(本番環境): 実際のユーザーに提供する環境
  • Preview(プレビュー環境): テストやプレビュー用の環境
  • 環境ごとの設定: ドメイン、環境変数、デプロイ設定を個別に管理
  • 自動デプロイ: ブランチトラッキングで自動デプロイメント

クラウドリソースを節約するため、コミットによって生成されたデプロイメントの一部は7日後に自動的に削除されます。 Preview環境やProduction環境などのブランチに紐づけられた環境は自動的に削除されません。

アクセス方法

Project > Settings > Environments > [環境名]

システム環境

Squadbaseでは、2つのシステム環境が自動的に提供されます。

Production(本番環境)

説明: 実際のユーザーに提供する主要なプロジェクト環境

特徴:

  • 環境名と説明は変更不可
  • 削除不可
  • ブランチトラッキング設定は変更可能
  • Analyticsはこの環境のアクセスを追跡

Preview(プレビュー環境)

説明: テスト・プレビュー用の環境

特徴:

  • システム提供環境
  • 開発中の機能を本番環境に影響を与えずにテスト可能

環境設定

General Settings(一般設定)

Environment Name(環境名):

  • システム環境では変更不可
  • カスタム環境では変更可能

Description(説明):

  • 環境の用途を説明
  • システム環境では変更不可

ブランチトラッキング

特定のGitブランチへのプッシュ時に、自動的にデプロイメントをトリガーできます。

ブランチトラッキングを有効化

Branch Trackingスイッチをオンにします。

条件を設定

条件タイプを選択します:

  • "Branch is": 特定のブランチにコミットがプッシュされたときにトリガー

ブランチを選択

ドロップダウンから対象のブランチを選択します:

  • main - 本番環境デプロイメント用
  • develop - 開発環境用
  • または任意のカスタムブランチ

選択したブランチにプッシュすると、自動的にデプロイメントが開始されます!

Production環境の注意点: システム環境のため、トラッキングブランチの設定のみ変更可能です。

ドメイン設定

環境ごとに独自のドメインを設定できます。

現在のドメイン

現在割り当てられているドメインがリンク形式で表示されます。

  • 例: limited-muscular-most-psychiatrist.squadbase.app

サブドメインの変更

編集可能な部分:

https://[サブドメイン].squadbase.app

制約:

  • 最低3文字
  • 英数字とハイフンのみ使用可能
  • ハイフンで開始・終了不可

手順:

  1. サブドメイン部分を編集
  2. 「Save」ボタンをクリック

デプロイメント設定

Auto Generated(自動生成)設定

多くの場合、自動生成された設定で問題なく動作します。

設定を確認・変更する場合は「Edit」ボタンをクリック

Framework Settings(フレームワーク設定)

  • Framework: 使用するフレームワーク(例: Django、Next.js)
  • Provider: デプロイ先プロバイダー(例: AWS)

Build Settings(ビルド設定)

  • Runtime: 実行環境(Pythonバージョンなど)
  • Package Manager: パッケージマネージャー(例: uv、npm)
  • Entrypoint: アプリケーションのエントリーポイント
  • Dockerfile Path: Dockerfileのパス(Dockerを使用する場合)
  • Build Context: ビルドコンテキストのパス
  • Build Arguments: ビルド引数(JSON形式)

AWS Settings(AWS設定)

Region(リージョン):

  • 例: Asia Pacific (Tokyo)

Memory(メモリ):

  • MB単位で設定
  • アプリケーションの必要メモリに応じて調整

Timeout(タイムアウト):

  • 秒単位で設定
  • リクエスト処理の最大時間

Provisioned Concurrency(プロビジョニング済み同時実行数):

  • 同時実行数を事前確保
  • レイテンシーを削減

Ephemeral Storage(一時ストレージ):

  • MB単位で設定
  • 一時ファイルの保存容量

Advanced Settings(詳細設定)

通常はデフォルト設定で問題ありません。

Root directory path(ルートディレクトリパス):

  • デフォルト: .(カレントディレクトリ)

Setting file path(設定ファイルパス):

  • デフォルト: ./squadbase.yml
  • カスタム設定ファイルを指定可能

環境変数

機密情報やアプリケーション設定を安全に管理します。

環境変数の管理

表示内容:

  • 変数名
  • 値(マスク表示)
  • 追加日時
  • 追加者

操作:

  • Update ボタン: 環境変数を追加・編集
  • Show ボタン: マスクされた値を表示
  • 各変数の横にアクションメニュー

よく使われる環境変数の例

GOOGLE_SERVICE_ACCOUNT_JSON_BASE64
BIGQUERY_PROJECT_ID
DATABASE_URL
API_KEY
SECRET_KEY

セキュリティ: 環境変数は機密情報を含むため、デフォルトでマスク表示されます。

Tips & よくある質問

Q: ProductionとPreviewの違いは?

A: Productionは本番環境で実際のユーザーに提供されます。Previewはテスト用で、本番に影響を与えずに新機能を試せます。

Q: ブランチトラッキングを設定すると、手動デプロイはできなくなりますか?

A: いいえ、ブランチトラッキングを有効にしても、手動でのデプロイメント作成は可能です。

Q: 環境変数を変更したら、すぐに反映されますか?

A: 環境変数の変更後、新しいデプロイメントを作成することで反映されます。

Q: メモリやタイムアウトの設定はどう決めればいいですか?

A:

  • 最初はデフォルト設定(Auto Generated)で試す
  • アプリケーションの動作を監視
  • 必要に応じてメモリ不足エラーやタイムアウトが発生した場合に調整

Q: Outbound IPsは何に使いますか?

A: 外部データベースやAPIへの接続時、ファイアウォールでこれらのIPアドレスからのアクセスを許可する必要があります。Settings > Overviewで確認できます。

おすすめの使い方

  1. まずはAuto Generated設定を使う: ほとんどのケースで自動設定で問題なく動作します
  2. 環境ごとに環境変数を分ける: Production用とPreview用で異なるAPI キーやデータベースURLを設定
  3. ブランチトラッキングを活用: 自動デプロイで作業を効率化しましょう
  4. メモリとタイムアウトは慎重に: 大きすぎる設定はコスト増につながるため、必要最小限に

まとめ

Environment機能を使うことで、本番環境とテスト環境を適切に分離し、安全かつ効率的な開発が可能になります。ブランチトラッキングや環境変数の活用で、さらに開発プロセスを自動化・最適化できます。

不明な点がある場合は、画面内の「Help」または「Documentation」リンクから、さらに詳しい情報を参照してください。