動かざることバグの如し

近づきたいよ 君の理想に

GitLabバックアップでアーカイブ済みリポジトリを除外する方法

環境

  • GitLab 18.8

やりたいこと

GitLabのバックアップでアーカイブ済みのリポジトリは正直消えてもいいのでバックアップ対象から除外したい。

調べてみた結果

GitLabのバックアップ機能を調べてみたが、結論から言うと「アーカイブ済みプロジェクトを自動的に除外する」ような機能は現時点では存在しない。

代わりに使えるのが SKIP_REPOSITORIES_PATHS 環境変数による特定リポジトリの手動指定だ。

GitLab 15.1から導入され、16.1で強化された SKIP_REPOSITORIES_PATHS を使うと、指定したプロジェクトやグループをバックアップ対象から除外できる。

sudo gitlab-backup create SKIP_REPOSITORIES_PATHS=group-a/archived-project

複数指定する場合はカンマ区切りだ。

sudo gitlab-backup create SKIP_REPOSITORIES_PATHS=group-a/old-project,group-b/legacy-repo

現実的な運用方法として、サブグループにまとめておけば、グループパスを1つ指定するだけで配下の全プロジェクトを除外できるので管理は楽になる。

sudo gitlab-backup create SKIP_REPOSITORIES_PATHS=group-a/archived

蛇足

GitLabのissue #18287で「アーカイブ済みプロジェクトをバックアップから除外したい」という要望は出ているが、現時点では未実装のようだ。公式ドキュメントにもそのようなオプションは記載されていない。

急いでいるなら SKIP_REPOSITORIES_PATHS で手動管理するしかなさそうだ。

参考リンク