Github 連携
SquadbaseとGithubを連携して、アプリをデプロイする方法を説明します。
SquadbaseはGithubと連携して、アプリのCI/CDを自動化することができます。 開発したアプリをチームに届けるために複雑なインフラ構築やCI/CDの設定を行う必要はなく、ダッシュボードから簡単にアプリを安全な環境にデプロイすることができます。
連携方法
Squadbaseとの連携は簡単な手順で行えます。
Githubとの連携設定
ダッシュボードからGithub連携を行い、SquadbaseアプリをOrganizationにインストールします。
Githubとの連携には以下の2つのステップがあります。
- SquadbaseアカウントとGithubアカウントの連携
- SquadbaseアプリをGithubのOrganizationにインストール
squadbase.ymlの作成
対象のリポジトリにsquadbase.ymlを作成します。
リポジトリとブランチの選択
ダッシュボードから連携するリポジトリとブランチを選択し、デプロイを実行します。
Organizationやリポジトリが表示されない場合は、トラブルシューティングを参照してください。
ルートディレクトリや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
のパスを指定することでアプリをそれぞれデプロイすることができます。
デプロイ設定例
アプリ名 | Root directory path | Setting file path |
---|---|---|
User analytics dashboard | analytics_dashboard | squadbase-user-analytics.yml |
Product analytics dashboard | analytics_dashboard | squadbase-product-analytics.yml |
Chat app | chat_app | squadbase.yml |
設定の変更
Githubとの連携設定やサブドメインの設定はダッシュボードのSettingsタブから変更することができます。 設定を変更すると再度デプロイが実行されて、設定が反映されます。
Githubアカウント連携の注意点
Squadbase では、1 つの GitHub アカウントを複数の Squadbase アカウントに重複して紐づけることはできず、Githubアカウントのメールアドレスと同じメールアドレスのSquadbaseユーザーがいる場合にはそちらが優先されます。 これは以下のポリシーに基づく仕様です。
-
メールアドレス=本人確認の前提 ... GitHub で登録されているメールアドレスは本人を識別するための重要な情報であり、同じメールアドレスが指す人物は 1 名のみであると想定しています。
-
セキュリティ確保のための制限 ... もし同じ GitHub アカウントを異なる Squadbase アカウント(異なるメールアドレス)に紐づけられると、認証情報が重複し、誤った権限付与のリスクが生じます。Squadbaseではプロジェクトのインポートやデプロイの実行をチームロールで管理しているため、このような制限が必要です。
Github連携のトラブルシューティング
Github連携時に以下のような問題が発生した場合の対処法をご紹介します。
リポジトリが表示されない場合
リポジトリの一覧に探しているリポジトリが表示されない場合は、Repository accessの設定で対象のリポジトリへのアクセスが許可されているか確認してください。
Organizationが表示されない場合
連携先のGithubのOrganizationが表示されない場合は、以下の手順で確認してください:
- GithubのOrganizationページに移動
- Settingsを開く
- Third-party Access > Github Appsを選択
- Installed GitHub AppsにSquadbaseが含まれていることを確認
Githubアカウントとの連携エラー (ERROR: GitHub Account Already Connected to Another User)
このエラーが表示されている場合には、以下の2点のいずれかに該当しています。
GitHub アカウントがすでに他の Squadbase アカウントに紐づけられている
この場合、GitHub アカウントを新たに Squadbase アカウントに紐づけることはできません。既存の Squadbase アカウントから GitHub アカウントを解除するか、別の GitHub アカウントを使用してください。
GitHub アカウントで利用しているメールアドレスと、同一のメールアドレスを持つSquadbaseユーザーが他に存在する
この場合、GitHubアカウントは同一のメールアドレスを持つSquadbaseユーザーだけが利用可能です。どちらかのアカウントを削除してください。