GitLab のプライベートプロジェクトに接続する方法

このページには SourceGraph で GitLab のプライベートプロジェクトへの接続設定について書いてあります。

この設定は SourceGraph 3.38.0 で確認しています。 また、SourceGraph のインスタンスは立ち上がっており、SourceGraph の Site Admin であることを前提として進めます。

主な設定内容は次の2つです。

  1. GitLab のアクセストークンを取得
  2. SourceGraph で GitLab を設定

GitLab のアクセストークンを取得 #

SourceGraph が GitLab のプライベートプロジェクトにアクセスするためには、アクセストークンが必要です。 取得するトークンは、 project access token でもよいですし、個人的に SourceGraph を使用している場合には personal access token でもよいです。

なお、GitLab.com では project access token は使いないことに注意が必要です。

アクセストークンを作成する際、scope は “api” にしておけば、基本的に SourceGraph を使う分には十分です。scope についての詳細な理由が必要な scope は こちらに記載されています。

SourceGraph で GitLab を設定 #

ここからの作業は公式のドキュメントの こちらのページに記載されています。

  1. Site Admin のサイトを開き、Manage code hosts ⇒ GitLab (GitLab Self-Managed) を選択します

  2. 接続設定を編集します

    • デフォルトでは "projectQuery": ["projects?membership=true&archived=no"] となっておりますが、これはトークンのユーザー(あるいはプロジェクト)がメンバーとなっているすべてのリポジトリーを SourceGraph が読み込みます
    • 単一プロジェクトだけを追加する場合には次のように設定します
    {
    "url": "https://gitlab.com",
    "token": "<access token>",
    "projectQuery": ["none"],
    "projects": [
        {"name": "<group>/<name>"},
        {"name": "<group>/<name>"},
    ]
    }
    
  3. “Add repositories” を押す

以上で設定完了です。正しく設定されていれば Repository status の画面から設定したレポジトリーが見えるはずです。