GitHub アプリによるリポジトリへのアクセス
Bitrise GitHub アプリを使用すると、ユーザーは Bitrise ワークスペースを GitHub アカウントまたは組織に接続でき、セキュリティが強化され、ステータスが自動更新されるきめ細かいアクセスが提供されます。
GitHub Cloudユーザー向けにサポート
Bitrise GitHub アプリは、すべての GitHub Cloud ユーザーにサポートされています。 GitHub エンタープライズ サーバー ユーザーは、関連ガイドの説明に従って、別の GitHub アプリを作成してインストールする必要があります。
BitriseアカウントをGitHubリポジトリに接続する最良の方法は、 GitHubアプリBitrise GitHub アプリには、統合を容易にするさまざまな機能があります。
-
このアプリでは、SSH キー、個人アクセス トークン、サービス認証ユーザーは必要ありません。アクセスのために、ビルドの前に一時的なアクセス トークンが生成され、セキュリティが大幅に向上します。
-
リポジトリへのきめ細かなアクセスを提供します。GitHub 組織全体へのアクセスを許可する必要はなく、アプリがアクセスできる特定のリポジトリを選択するだけです。
-
アプリをインストールすると、GitHub Checks アプリを使用して、Bitrise ステータスの更新を GitHub で直接自動的に受信できます。ステータス レポートを個別に設定する必要はありません。Bitrise Workspace に接続できるのは 1 つの GitHub アカウントのみですが、GitHub Checks は他の GitHub アカウントが所有するリポジトリに対しても設定できます。
GitHub アプリ統合のインストール
このガイドは、Bitrise GitHub アプリをインストールし、アプリを使用して Bitrise ワークスペースを GitHub アカウントまたは組織に接続したい GitHub Cloud ユーザー (GitHub Enterprise Cloud ユーザーを含む) を対象としています。
GitHub Enterprise Server ユーザー向けには、別のガイドがあります。 セルフホスト型 GitHub Enterprise Server と Bitrise の統合
GitHub App 統合を介して接続するには、次の 2 つの方法があります。
-
から ワークスペース設定 ページ。
-
新しい Bitrise プロジェクトを追加するとき。
ワークスペースごとに 1 つの GitHub アプリをインストール
ワークスペースに接続できるのは 1 つの GitHub アカウントのみであるため、ワークスペースは常に Bitrise GitHub アプリの 1 つのインストールに関連付けられます。ワークスペースを複数の Bitrise GitHub アプリのインストールに接続することはできません。
ただし、アプリの GitHub Checks 機能は、他の GitHub アカウントが所有するリポジトリでも利用できます。
ワークスペース設定ページからGitHubアプリを接続する
Bitrise GitHub Appのインストールはワークスペースに紐付けられています。いつでもインストールして接続を確認することができます。 ワークスペース設定 ページ。
-
Bitrise のメインページで、ドロップダウン メニューからワークスペースを選択します。
-
左側のナビゲーションメニューから、 設定。
-
上の ワークスペース設定 ページ、選択 統合。
-
選択してください Git プロバイダー タブ。
-
下 GitHubGitHub Appカードが表示されます。 Bitrise GitHubアプリ経由で接続。 クリック 。
-
以前に Bitrise GitHub アプリを承認したことがない場合は、この時点で承認を求められます。
-
接続する GitHub アカウントまたは組織を選択するように求められます。リストに必要なものが見つからない場合は、まずそのアカウントまたは組織にアプリをインストールする必要があります。アカウント リストの下のリンクをクリックしてください。
-
リンクをクリックすると、アカウントまたは組織を選択するよう求められます。選択すると、 インストールと認証 ページ。
-
上の インストールと認証 ページで、アクセスタイプを選択します。
-
すべてのリポジトリ: Bitrise GitHub アプリは、将来のものも含め、アカウントまたは組織に属するすべてのリポジトリにアクセスできるようになります。
-
選択したリポジトリのみ: Bitrise がアクセスできるリポジトリを 1 つ以上選択します。後でさらに追加することもできますが、そのためには GitHub アプリのページでリポジトリ アクセスを再設定する必要があります。
-
-
完了したらクリック ワークスペース設定 ページ。
にリダイレクトされます承認
GitHub でアプリをインストールする権限がない場合でも、インストールをリクエストできます。GitHub 管理者がインストールを承認したら、戻ってリストからアプリのインストールを選択できます。
-
OAuth接続を備えた既存のアプリがある場合は、 GitHub App接続に切り替える。
新しいプロジェクトを追加するときに GitHub アプリを接続する
の過程で 新しいプロジェクトを追加する Bitrise では、Bitrise がリポジトリにアクセスする方法を選択する必要があります。このプロセスにより、GitHub アプリ経由でプロジェクトに接続できるようになります。
-
プロセスを開始する 新しいプロジェクトを追加する。
-
で リポジトリを選択 セクション、選択 から ドロップダウンメニュー。
-
クリック
。 -
接続する GitHub アカウントまたは組織を選択するように求められます。リストに必要なものが見つからない場合は、まずそのアカウントまたは組織にアプリをインストールする必要があります。アカウント リストの下のリンクをクリックしてください。
-
リンクをクリックすると、アカウントまたは組織を選択するよう求められます。選択すると、 インストールと認証 ページ。
-
上の インストールと認証 ページで、アクセスタイプを選択します。
-
すべてのリポジトリ: Bitrise GitHub アプリは、将来のものも含め、アカウントまたは組織に属するすべてのリポジトリにアクセスできるようになります。
-
選択したリポジトリのみ: Bitrise がアクセスできるリポジトリを 1 つ以上選択します。後でさらに追加することもできますが、そのためには GitHub アプリのページでリポジトリ アクセスを再設定する必要があります。
-
-
完了したらクリック
新しい Bitrise プロジェクトの追加を続行するためにリダイレクトされます。
GitHub Appの権限をビルドに拡張する
Bitrise GitHub アプリは、アプリ経由でトリガーされるビルドごとに、短期間の一時トークンを生成します。このトークンには、デフォルトで 1 つの権限のみがあります。 content:read
つまり、ビルドは GitHub リポジトリにアクセスできますが、それ以外のことは何もできません。
これらの権限を拡張して、ビルド中に他の操作を実行できるようにすることができます。たとえば、これにより、ユーザーはビルドから Git タグをプッシュしたり、カスタム ステータス レポートを作成したり、プル リクエストにラベルを付けたり、新しいバージョン番号をプッシュしたりできるようになります。
リンクされたリポジトリ
権限を拡張する場合、すべての権限を拡張します 追加のリンクされたリポジトリ 同じように!
拡張できる正確な権限は、GitHub アカウントによって異なります。
-
GitHub Cloud では、GitHub アプリには次の権限があります。
-
問題とメタデータへの読み取りアクセス
-
チェック、コード、コミットステータス、プルリクエストへの読み取りおよび書き込みアクセス
-
-
GitHub エンタープライズ サーバー ユーザーはアプリを作成するときに GitHub アプリの権限を定義します。
権限を拡張するには:
-
上の ワークスペース設定 ページ、選択 統合。
-
選択してください Git プロバイダー タブ。
-
見つける GitHub アプリの権限をビルドに拡張する オプションをオンに切り替えます。これにより、デフォルトのリポジトリとリンクされたすべての追加リポジトリにも権限が拡張されます。
GitHub アプリ経由でリンクされた追加のリポジトリ
各 Bitrise プロジェクトにはプライマリ Git リポジトリがあります。これはプロジェクトのコードが保存される場所であり、ビルドを開始するとこのリポジトリがクローンされます。デフォルトでは、Bitrise プロジェクトは他のリポジトリにアクセスできません。
ただし、プロジェクトには他のリポジトリが必要になる場合があります。たとえば、ビルド中にアクセスする必要があるプライベート サブモジュールがある場合があります。GitHub App を使用する場合は、追加のリポジトリをリンクすることでこれを実行できます。この機能は、GitHub Cloud と GitHub Enterprise Server の両方で利用できます。
その他の接続方法
Bitrise GitHub アプリを使用していない場合でも、追加のリポジトリへのアクセスを設定できます。 サブモジュールまたはプライベートリポジトリの依存関係を持つプロジェクト。
リンクされたリポジトリは、Bitrise プロジェクトが GitHub App インストールを使用してアクセスできるリポジトリですが、プロジェクトのプライマリ リポジトリではありません。
GitHub App インストールを介して接続されたプロジェクトのビルドを実行すると、Bitrise は、デフォルトではプライマリリポジトリにのみアクセスできる一時トークンを生成します。追加のリポジトリがリンクされると、ビルド用に生成されたトークンは追加のリポジトリにアクセスできるようになります。
リポジトリをリンクするには、次の条件をすべて満たす必要があります。
-
GitHub アプリは、GitHub 上のリポジトリを所有するアカウントまたは組織にインストールされます。
-
リポジトリに対してアプリのインストールが有効になっています。
-
リポジトリをリンクしようとしているユーザーは、GitHub 上のリポジトリにアクセスできます。GitHub ユーザー アカウントにリポジトリへのアクセス権がない場合は、Bitrise にリンクできません。
GitHub エンタープライズ サーバー
GitHubアプリを使用して GitHub エンタープライズ サーバー たとえば、アプリはユーザー アクセスをチェックしません。GitHub アプリがアクセスできる任意のリポジトリをリンクできます。
追加のリポジトリへのリンク
GitHub App 接続が確立されたプロジェクトに追加のリポジトリをリンクするには:
-
Bitriseでアプリを開くには、 管理者 アプリチームでの役割。
-
に移動します 設定 タブ。
-
左側で、 統合 そして、 統合 ページで、 Git プロバイダー タブ。
-
を見つける Git 統合ステータス カードをクリックして 。
-
の中に 追加のリポジトリを有効にする ダイアログで、リンクするリポジトリを選択します。
最大 50 個の追加リポジトリをリンクできます。
リポジトリのリストが表示されます。リスト上のリポジトリを表示するには:
-
GitHub Cloudでは、GitHubユーザーがアクセスできる必要があります。 GitHub エンタープライズ サーバー、ユーザー権限はチェックされません。
-
GitHub App インストールではこれにアクセスできます。
リポジトリの無効化
すでにリポジトリがリンクされている場合、それらのリポジトリへのアクセス権を持たないユーザーはリポジトリを無効にすることはできますが、再度追加することはできないことに注意してください。
-
-
完了したらクリック
。
GitHub アプリ経由でプライベート Step ライブラリを使用する
各 Bitrise プロジェクトには、デフォルトのステップ ライブラリ (ステップのリポジトリ) があります。設定でステップの正確なソースが指定されていない場合、Bitrise CLI はデフォルトのライブラリからステップ データを取得します。
このライブラリはプライベートなステップライブラリにすることができます。GitHubアプリ経由でこのようなライブラリにアクセスするには、 netrcでホストを認証する ワークフローで実行される最初のステップとして次のステップを指定します。
format_version: "13" default_step_lib_source: https://github.com/my-private-org/my-bitrise-steplib.git project_type: ios workflows: example: steps: - https://github.com/bitrise-io/bitrise-steplib.git::authenticate-host-with-netrc@0:
注意: netrcでホストを認証するステップは 完全なソース識別子 プライベートライブラリではなく、公式の Bitrise Step ライブラリから取得されるようにするためです。
ステップを使用するには、ホスト、Gitユーザー名、Gitパスワードの3つの入力を指定する必要があります。Bitrise GitHub App統合ではトークンベースの認証を使用します。各ビルドは、 GIT_HTTP_PASSWORD
環境変数。この Env Var はパスワードとして使用できます。ユーザー名は空にできません。ステップは失敗しますが、使用されないため、何を入力しても問題ありません。
format_version: '13' default_step_lib_source: https://github.com/tothszabi/steplib.git project_type: ios workflows: example: steps: - https://github.com/bitrise-io/bitrise-steplib.git::authenticate-host-with-netrc@0: inputs: - host: github.com - username: username - password: "$GIT_HTTP_PASSWORD" - private-script@1: {}
リンクされたリポジトリでgit cloneを実行する
実行しようとすると git clone
または他のgitコマンド リンクされたリポジトリ認証エラーが発生してビルドが失敗する可能性があります。これは認証情報がローカルに保存されているためです。 netrc
ファイルです。このファイルは公式の Git クローン ステップ。
ただし、独自のスクリプトを使用して git clone
、または認証を必要とするその他のGitコマンドを使用する場合 Git クローン ステップでは、 netrc
ファイル。2 つの方法があります。
-
手動で行うこともできます。
-
あなたは netrcでホストを認証する ステップ。これはワークフローの最初のステップである必要があります。
HTTP URL
プライベート リポジトリの依存関係をクローンするときは、必ず HTTP URL を使用してください。
ステップを使用するには、ホスト、Gitユーザー名、Gitパスワードの3つの入力を指定する必要があります。Bitrise GitHub App統合ではトークンベースの認証を使用します。各ビルドは、 GIT_HTTP_PASSWORD
環境変数。この Env Var はパスワードとして使用できます。ユーザー名は空にできません。ステップは失敗しますが、使用されないため、何を入力しても問題ありません。
workflows: example: steps: - authenticate-host-with-netrc@0: inputs: - host: github.com - username: "username" - password: "$GIT_HTTP_PASSWORD"
OAuth 接続から GitHub アプリへの切り替え
Bitrise プロジェクトに GitHub アカウントへの OAuth 接続が設定されている場合は、機能を失うことなくいつでも Bitrise GitHub アプリに変更できます。切り替えを強くお勧めします。Bitrise GitHub アプリがインストールされると、Bitrise ビルドを実行するためにサービス認証ユーザー、SSH キー、または Webhook は不要になります。
元に戻すことはできません
Bitrise プロジェクトを OAuth 接続から GitHub アプリに切り替えると、元に戻すことはできません。
切り替えるには:
-
関連ガイドの説明に従って、Bitrise GitHub アプリをインストールします。 ワークスペース設定ページからGitHubアプリを接続する。
-
Bitriseでアプリを開くには、 管理者 アプリチームでの役割。
-
に移動します 設定 タブ。
-
左側のナビゲーションメニューで、 統合 そして、 Git プロバイダー タブ。
-
の中に Git 統合ステータス セクションでは、GitHub Appのサポートに関する情報が記載された青いカードが表示されます。切り替えるには、 。