Gitlab, restore, 401 Unauthorized

Автор: | 16 марта 2022

Вста­ла зада­ча пере­не­сти gitlab на новый сер­вер. Опи­са­ний как делать бекап и как его вос­ста­нав­ли­вать в сети доста­точ­но. Офи­ци­аль­ная доку­мен­та­ция тоже доста­точ­но пол­ная. Но я сло­вил один баг, кото­рый не опи­сан. Спе­шу поде­лить­ся. Жаль, если Вы про­чте­те его и будет уже позд­но. Глав­ное сохра­нять ори­ги­наль­ные фай­лы кон­фи­гу­ра­ции…

Итак.

Весь про­цесс сво­дит­ся к тому, что на новый instance нуж­но поста­вить gitlab такой же вер­сии, в какой был сде­лан бекап. Затем заме­нить фай­лы кон­фи­гу­ра­ций на новом instance в пап­ке /etc/gitlab фай­ла­ми со ста­ро­го сер­ве­ра. Затем оста­но­вить сер­ви­сы gitlab , кото­рые вза­и­мо­дей­ству­ют с базой (puma, sidekiq) и после это­го вос­ста­но­вить бекап. Ска­за­но сде­ла­но. Одна­ко, по ста­рой при­выч­ке я сохра­нил фай­лы кон­фи­гу­ра­ции ори­ги­наль­ной чистой уста­нов­ки gitlab на новом сер­ве­ре, все что было в пап­ке /etc/gitlab

Вро­де запу­сти­лись, все кра­си­во зара­бо­та­ло. Заре­ги­стри­ро­ва­ли ран­не­ров, про­ве­ри­ли пай­плай­ны и сде­ла­ли пуш. Полу­чи­ли ошиб­ку 401 Unauthorized. При­чем пулл сде­лать дает и авто­ри­за­ция про­хо­дит нор­маль­но. То есть с поль­зо­ва­те­ля­ми все в поряд­ке. Гугл и несколь­ко ста­тей выве­ли на инте­рес­ное реше­ние. Нам нужен файл /etc/gitlab/gitlab-secrets.json , после чистой уста­нов­ки на новую маши­ну, кото­рый был сохра­нен по при­выч­ке… Нуж­но взять из него зна­че­ние поля gitlab_shell -> secret_token и вста­вить его вме­сто тако­го же зна­че­ния в фай­ле /etc/gitlab/gitlab-secrets.json , кото­рый мы пере­нес­ли со ста­ро­го instance . После это­го дела­ем gitlab-ctl reconfigure и раду­ем­ся…

Так что, хра­ни­те день­ги в сбе­ре… копи­руй­те ори­ги­наль­ные фай­лы все­гда перед тем, как их заме­нить… Жаль что это обыч­но чита­ешь, когда уже полу­чил ошиб­ку и фай­лы мог не сохра­нить…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*