メインコンテンツまでスキップ

セルフホストのGitLabインスタンスの接続

Workspacesの場合、BitriseはセルフホストのGitLabインスタンスへの接続をサポートしています。接続は簡単で、完了すると、プライベートでホストされているリポジトリからBitriseにプロジェクトを追加できます。パブリックにホストされているリポジトリで慣れ親しんだすべての機能をご利用いただけます。

BitriseをGitLabインスタンス全体に対するアプリケーションとして承認する必要があり、その後、Bitrise OAuthアプリケーションに属するApplication IdとSecretの値をbitrise.io上のWorkspaceに追加する必要があります。

GitLab接続の設定Click to copy link​

BitriseでプライベートにホストされているGitLabリポジトリにアクセスするには、GitLabアカウントで新しいOAuthアプリケーションを作成し、サーバーへのアクセスに必要な認証情報を割り当てる必要があります。

警告

新しいBitriseプロジェクトを作成する際は、プロバイダー選択画面で専用のGitLab Self-hostedオプションを選択する必要があります。代わりにリポジトリのURLをOtherフィールドに貼り付けると、Bitriseはそのプロジェクトを汎用的なCustomプロバイダーのリポジトリとして保存し、次の機能が警告なく利用できなくなります。

これは後からリポジトリのURLを編集しても修正できません。すでにこの方法でプロジェクトを作成してしまった場合は、プロバイダーの種類を修正するためにcontact supportしてください。

パブリックに解決可能なIPアドレス

セルフホストインスタンスには、パブリックに解決可能なIPアドレスが必要です。そうでない場合、Bitriseは接続できません。

接続には2つのURLが必要です。Bitrise OAuthのコールバックURLと、GitLab instance URLです。

URL入力先例
BitriseのOAuthコールバックURLGitLabで、OAuthアプリケーションのCallback URLフィールドにhttps://app.bitrise.io/users/auth/gitlab/callback
GitLab instance URLBitriseで、WorkspaceのIntegrations GitLab instance URLフィールドにhttps://gitlab.example.com
  1. GitLabインスタンス用にBitriseバックエンドワーカーを許可リストに追加します。build machinesにアクセスするためのネットワーク設定。

    なお、app.bitrise.ioやBitrise build machinesなどを支えているBitriseバックエンドワーカーは、異なるIPアドレス範囲を使用します。build machinesを許可リストに追加するだけでは、この機能には不十分です。

    バックエンドワーカーの許可リスト追加ができない場合は、Bitriseに問い合わせて、他のオプションについてご相談ください。

  2. root権限でGitLabインスタンスにLog inします。root権限なしでBitriseに接続すると、Workspaceの他のチームメンバーはGitLabインスタンス上のリポジトリにアクセスできなくなります。

  3. 上部メニューバーの小さいレンチアイコンをクリックして管理エリアに移動します。

  4. 左側のメニューバーでApplicationsを選択し、New Applicationをクリックします。

    New_Application.png

  5. Nameフィールドに、アプリケーションを明確に識別できる名前を入力します。わかりやすさのため、Bitriseを推奨します。

  6. Callback URLフィールドにhttps://app.bitrise.io/users/auth/gitlab/callbackを入力します。

    これはBitriseのURLです。認証後、GitLabはここにユーザーをリダイレクトします。

  7. Scopeメニューでapiをチェックします。

    New_Application_settings.png

  8. ConfidentialオプションをNoに設定します。

    新規作成したアプリがconfidentialに設定されていると、Bitriseはアクセスできなくなります。

  9. Submitをクリックします。次のページにApplication IdとSecretが表示されます。bitrise.ioでGitLabインスタンスに接続するには、この両方が必要です。

    Connecting_self-hosted_GitLab_instances.png

  10. BitriseにLog inし、workspaceを選択します。

  11. 左側でIntegrationsを選択します。

  12. GitLab self-managedセクションを見つけます。

  13. Add credentialsをクリックし、セルフホストのGitLab認証情報を追加します。

    注記

    任意で、カスタムHTTPヘッダーを追加できます。プロキシ経由の接続。

以上で完了です。これでBitriseを使ってプライベートにホストされているリポジトリにアクセスできるようになります。

Service credential userのロールClick to copy link​

Bitriseは、GitLabインスタンス上でWebhookの登録、マージリクエストへのコミットステータスの投稿、リポジトリ内容の読み取りを行うためにService Credential User (SCU)を使用します。セルフホストのGitLabでは、SCUはリポジトリに対して最低でもMaintainerロールが必要です。

GitLabの操作必要なロール
bitrise.ymlの読み取り、ブランチの一覧表示Reporter
Webhookの登録Maintainer
コミット/マージリクエストステータスの投稿Maintainer

ReporterまたはDeveloperでは不十分です。ステータスの報告が警告なく失敗します。SCU設定の全体的な流れについては、service credential userを参照してください。

プロキシ経由の接続Click to copy link​

プロキシ経由で接続できるように、セルフホストのGitLabインスタンスにカスタムHTTPヘッダーを追加できます。header valueは暗号化されて保存されます。

カスタムHTTPヘッダーを追加するには、Workspace settingsページに移動し、Integrationsを選択します。GitLab self-managedカードを見つけると、そこで認証情報を編集できます。

たとえば、Cloudflare Accessをご利用のお客様は、クライアントIDとクライアントシークレットを設定できます: CF-Access-Client-IdとCF-Access-Client-Secret。

セルフホストのGitLabリポジトリから新規プロジェクトを追加するClick to copy link​

  1. 新規プロジェクトの追加を開始します。
  2. Gitプロバイダーの選択を求められたら、Self-hosted GitLabオプションを選択します。
  3. Connectをクリックします。

接続が完了したら、通常どおり進めます。はじめてのプロジェクトを追加する。