Squadbase logo

GitHub 連携

SquadbaseとGitHubを連携して、ソースコードの管理や既存プロジェクトの取り込みを行う方法を説明します。

SquadbaseはGitHubを連携することで、以下の2点を行うことが可能です。

  • Squadbase上で作成したダッシュボードのソースコードを自分のリポジトリに追加
  • 自分のリポジトリ上にあるNext.jsなどのダッシュボードのコードをSquadbaseに取り込み、Squadbaseで開発

GitHubアカウントとの連携方法

プロフィール設定を開く

Portal画面の左サイドバー最下部のアカウントアイコンをクリックし、プロフィール設定を開きます。

プロフィール設定メニュー

GitHubアカウントを連携する

プロフィール詳細の「+ アカウントを連携する」をクリックし、GitHub を選択します。

アカウント連携画面

GitHubを選択するとGitHubのページに切り替わるので、ログイン情報を入力してください。ログイン情報を入力すると、自動的にSquadbaseのページに切り替わります。

GitHubログイン画面

連携アカウントにGitHubが表示されたら連携完了です。

連携完了画面

Squadbaseのコードをリポジトリに追加

Squadbase上で作成したダッシュボードのソースコードを自分のリポジトリに追加する手順を説明します。

SquadbaseアプリをGitHubのOrganizationにインストール

Install GitHub App」をクリックすると、GitHubのページに遷移します。

Install GitHub Appボタン

ここで全てのリポジトリに対してアクセスを許可するか、選択したリポジトリのみにアクセスを許可するか選択します。

GitHubのアクセス許可選択画面

再度プロジェクト詳細を開き、以下の画面が表示されたら、正常にGitHub Appがインストールされた状態になります。

インストール完了確認画面

リポジトリを作成して連携する

Organizationとリポジトリ名を入力し、「リポジトリを作成して切り替え」をクリックすると、Squadbaseのコードベースが連携したOrganizationに新規リポジトリとして作成されます。

リポジトリ作成画面

既存リポジトリをSquadbaseに取り込み

自分のリポジトリ上にあるNext.jsなどのダッシュボードのコードをSquadbaseに取り込む手順を説明します。

Organizationを選択可能になっており、すでにGitHubにあるリポジトリをSquadbaseに連携させ、Squadbase上でコードの編集ができるようにすることも可能です。

もちろんSquadbaseで行った開発差分を再度自分のリポジトリに反映することも可能です。

GitHubリポジトリからインポートをクリック

新規プロジェクト作成画面でデータソース選択画面の下部にある「GitHubリポジトリからインポート」をクリックします。

データソース選択画面

インポートするリポジトリを選択する

インポートしたいリポジトリを探して、「インポート」をクリックします。

リポジトリ選択画面

必要情報を入力してプロジェクトを作成

本番環境ブランチ、プロジェクト名、ドメインを入力します。必要に応じて環境変数を設定することも可能です。Advanced settings では Root directory path(コマンドを実行するアプリのルートディレクトリパス)と Setting file path(プロジェクトのルートディレクトリを基準とした設定ファイルのパス)を指定できます。入力が完了したら「Create & Deploy」をクリックしてプロジェクトを作成します。

プロジェクト作成画面

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

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

これは以下のポリシーに基づく仕様です。

メールアドレス=本人確認の前提

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

セキュリティ確保のための制限

もし同じ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が含まれていることを確認

Organizationだけでなく、個人アカウントにも同様にGitHub Appがインストールされていることを確認してください。

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

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

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

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

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

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