正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Linuxパッケージリポジトリのミラーリング

GitLabとGitLab RunnerのLinuxパッケージは、https://packages.gitlab.comで入手できます。このドキュメントでは、これらのリポジトリのローカルミラーを維持する方法について説明します。

APTリポジトリのミラーリング

aptリポジトリのローカルミラーは、apt-mirrorツールを使用して作成できます。

  1. apt-mirrorをインストールします

    sudo apt install apt-mirror
  2. ミラーのディレクトリを作成します

    sudo mkdir /srv/gitlab-repo-mirror
  3. /etc/apt/mirror.listにあるapt-mirror設定ファイルに、次の行を追加します

    set base_path /srv/gitlab-repo-mirror

    ミラーリングされたコンテンツは、/srv/gitlab-repo-mirror/mirror/packages.gitlab.comに書き込まれます。

    使用可能なその他の設定については、アップストリームのサンプルの設定ファイルを確認してください。

  4. 設定ファイルの最後に、aptソースファイルのURL形式でミラーするリポジトリを指定します。

    GitLab

    GitLabでは、OSディストリビューション間で(コンテンツが異なる)パッケージに同じバージョン文字列を使用します。つまり、これらのパッケージはDebianリポジトリ形式に従って重複パッケージと見なされます

    これを回避するために、各OSディストリビューション(Debian TrixieやUbuntu Focalなど)には、そのディストリビューションのみをホストする専用のリポジトリが用意されています。これにより、URLには余分なディストリビューションコンポーネントが含まれるようになります。

    GitLab Runner

    GitLab Runnerは静的にリンクされたGoバイナリであり、OSディストリビューションごとに同じパッケージを使用します。OSごとに単一のaptリポジトリを使用し、そのリポジトリ内のそのOSのすべてのディストリビューションをホストします。

    deb https://packages.gitlab.com/gitlab/gitlab-ee/debian/trixie trixie main
    deb-src https://packages.gitlab.com/gitlab/gitlab-ee/debian/trixie trixie main
    deb https://packages.gitlab.com/runner/gitlab-runner/debian trixie main
    deb-src https://packages.gitlab.com/runner/gitlab-runner/debian trixie main
  5. ミラープロセスを開始します

    sudo apt-mirror

RPMリポジトリのミラーリング

rpmリポジトリのローカルミラーは、reposync(パッケージをダウンロードするため)およびcreaterepo(メタデータを生成するため)を使用して作成できます。

リポジトリIDを見つけるには、次のコマンドで利用可能なリポジトリを一覧表示します:

yum repolist
  1. createreporeposyncをインストールします

    sudo yum install createrepo yum-utils
  2. ミラーのディレクトリを作成します

    sudo mkdir /srv/gitlab-repo-mirror
  3. reposyncを実行します。リポジトリIDと出力ディレクトリを引数として渡します。

    reposync --repoid=gitlab_gitlab-ee --download-path=/srv/gitlab-repo-mirror
  4. createrepoを使用して、リポジトリのメタデータを生成します

    createrepo -o /srv/gitlab-repo-mirror /srv/gitlab-repo-mirror