Squadbase
Squadbase Docs

Github 連携

SquadbaseとGithubを連携して、アプリをデプロイする方法を説明します。

SquadbaseはGithubと連携して、アプリのCI/CDを自動化することができます。 開発したアプリをチームに届けるために複雑なインフラ構築やCI/CDの設定を行う必要はなく、ダッシュボードから簡単にアプリを安全な環境にデプロイすることができます。

連携方法

Squadbaseとの連携は簡単な手順で行えます。

Githubとの連携設定

ダッシュボードからGithub連携を行い、SquadbaseアプリをOrganizationにインストールします。

Githubとの連携には以下の2つのステップがあります。

  1. SquadbaseアカウントとGithubアカウントの連携
  2. SquadbaseアプリをGithubのOrganizationにインストール

squadbase.ymlの作成

対象のリポジトリにsquadbase.ymlを作成します。

リポジトリとブランチの選択

ダッシュボードから連携するリポジトリとブランチを選択し、デプロイを実行します。

Organizationやリポジトリが表示されない場合は、トラブルシューティングを参照してください。

アプリへのアクセス

デプロイが完了すると、ダッシュボードからアプリにアクセスすることができます。

一度Githubと連携を行えば、その後連携したブランチにpushすると自動でデプロイが行われます。

ルートディレクトリやsquadbase.ymlのパスの変更

Advanced SettingsのRoot directory pathとSetting file pathを変更することで、プロジェクトのルートディレクトリやsquadbase.ymlのパスを変更することができます。 プロジェクトのルートディレクトリはアプリケーションをビルドするディレクトリを指しています。

  • Root directory path: リポジトリのルートからのパスで指定
  • Setting file path: Root directory pathからの相対パスで指定

1つのリポジトリに複数のアプリが含まれている場合の設定

以下のように1つのリポジトリに複数のアプリが含まれている場合もルートディレクトリとsquadbase.ymlのパスを指定することでアプリをそれぞれデプロイすることができます。

user_analytics.py
product_analytics.py
pyproject.toml
squadbase-user-analytics.yml
squadbase-product-analytics.yml
app.py
pyproject.toml
squadbase.yml

デプロイ設定例

アプリ名Root directory pathSetting file path
User analytics dashboardanalytics_dashboardsquadbase-user-analytics.yml
Product analytics dashboardanalytics_dashboardsquadbase-product-analytics.yml
Chat appchat_appsquadbase.yml

設定の変更

Githubとの連携設定やサブドメインの設定はダッシュボードのSettingsタブから変更することができます。 設定を変更すると再度デプロイが実行されて、設定が反映されます。

Github integration setting

Githubアカウント連携の注意点

Squadbase では、1 つの GitHub アカウントを複数の Squadbase アカウントに重複して紐づけることはできず、Githubアカウントのメールアドレスと同じメールアドレスのSquadbaseユーザーがいる場合にはそちらが優先されます。 これは以下のポリシーに基づく仕様です。

  1. メールアドレス=本人確認の前提 ... GitHub で登録されているメールアドレスは本人を識別するための重要な情報であり、同じメールアドレスが指す人物は 1 名のみであると想定しています。

  2. セキュリティ確保のための制限 ... もし同じ GitHub アカウントを異なる Squadbase アカウント(異なるメールアドレス)に紐づけられると、認証情報が重複し、誤った権限付与のリスクが生じます。Squadbaseではプロジェクトのインポートやデプロイの実行をチームロールで管理しているため、このような制限が必要です。

Github連携のトラブルシューティング

Github連携時に以下のような問題が発生した場合の対処法をご紹介します。

リポジトリが表示されない場合

リポジトリの一覧に探しているリポジトリが表示されない場合は、Repository accessの設定で対象のリポジトリへのアクセスが許可されているか確認してください。

Organizationが表示されない場合

連携先のGithubのOrganizationが表示されない場合は、以下の手順で確認してください:

  1. GithubのOrganizationページに移動
  2. Settingsを開く
  3. Third-party Access > Github Appsを選択
  4. Installed GitHub AppsにSquadbaseが含まれていることを確認

Github integration setting

Githubアカウントとの連携エラー (ERROR: GitHub Account Already Connected to Another User)

このエラーが表示されている場合には、以下の2点のいずれかに該当しています。

GitHub アカウントがすでに他の Squadbase アカウントに紐づけられている

この場合、GitHub アカウントを新たに Squadbase アカウントに紐づけることはできません。既存の Squadbase アカウントから GitHub アカウントを解除するか、別の GitHub アカウントを使用してください。

GitHub アカウントで利用しているメールアドレスと、同一のメールアドレスを持つSquadbaseユーザーが他に存在する

この場合、GitHubアカウントは同一のメールアドレスを持つSquadbaseユーザーだけが利用可能です。どちらかのアカウントを削除してください。