古場 正行
2020/10/12 10:07
@@ -1,13 +1,13 @@
|
|
1
1
|
# はじめに
|
2
2
|
- [GitLab](https://about.gitlab.com/) はバージョン 13.0 から hashed storage に対応しており、今までのストレージを legacy storage と呼んで非推奨としている。
|
3
3
|
- GitLab 13.0 以上で環境を構築してプロジェクトやリポジトリを作成した場合は既に hashed storage になっているのだが、GitLab 12.x.x 以下で環境を構築していてる場合は、当然 legacy storage で動いている。
|
4
|
-
- GitLab 12.x.x 以下の環境を GitLab 13.0.0〜13.3.x に上げても legacy storage
|
4
|
+
- GitLab 12.x.x 以下の環境を GitLab 13.0.0〜13.3.x に上げても legacy storage のままで動作してくれるが、そこから GitLab 13.4.0 以上に上げると hashed storage に強制移行させられてしまう。この時、非常に高い確率で__プロジェクトのリポジトリが消えてしまうトラブル__に遭遇することになる。
|
5
5
|
- [GitLab 14 では legacy storage サポート打ち切りのアナウンスが出ている](https://docs.gitlab.com/ee/////administration/repository_storage_types.html#legacy-storage)ので、今のうちに hashed storage に移行した方が良い。以下、その手順を示す。
|
6
|
-
- 本手順は [docker-compose を使って起動している GitLab](https://docs.gitlab.com/omnibus/docker/#install-gitlab-using-docker-compose) を前提とする。<br />⇒
|
6
|
+
- 本手順は [docker-compose を使って起動している GitLab](https://docs.gitlab.com/omnibus/docker/#install-gitlab-using-docker-compose) を前提とする。<br />⇒ 上記のリンク先の解説を試す時は、`gitlab-ee` を `gitlab-ce` に置き換えること。
|
7
7
|
|
8
8
|
## なぜこのナレッジを書いたのか?
|
9
|
-
-
|
9
|
+
- この謎のリポジトリ消失問題を解決するまでに結構な期間悩んでしまったので、「自力で GitLab を動作させている方々のトラブル防止や解決の一助になれば…」と思って書かせていただいた。
|
10
10
|
|
11
11
|
---
|
12
12
|
|
13
13
|
# 移行手順
|
@@ -56,9 +56,11 @@
|
|
56
56
|
- 手順①で runner registration tokens を削除してしまった場合は、新しいトークンを作り直す。
|
57
57
|
|
58
58
|
## まだ GitLab 12.x.x 以下を使っている場合のもっと簡単な移行手順
|
59
59
|
1. 現在の環境のままで runner registration tokens を削除する。
|
60
|
+
- 動作未確認なので 12.x.x 以下ではうまく削除できないかもしれないというリスクがある。
|
60
61
|
2. GitLab を 13.4.0 以上にバージョンアップする。
|
62
|
+
3. 削除した runner registration tokens を作り直す。
|
61
63
|
|
62
64
|
---
|
63
65
|
|
64
66
|
# APPENDIX A:現在利用している GitLab のバージョンの確認方法
|