環境
- 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 で手動管理するしかなさそうだ。