У нас есть экземпляр GitLab, работающий на виртуальной машине. Всякий раз, когда мне нужно обновить GitLab и его систему Ubuntu, я делаю снимок виртуальной машины, выполняю обновления и проверяю, все ли работает нормально.
Время от времени возникают проблемы: нехватка места на диске во время обновления и т. Д. Если это произойдет, я просто восстанавливаю снимок виртуальной машины, и все так же, как и раньше, и я могу повторить попытку.
К сожалению, для обновления GitLab необходим работающий экземпляр. Итак, если я сделаю sudo gitlab-ctl stop
перед обновлением, обновление завершится неудачей. Это означает, что пользователи могут войти в систему во время обновления. Хуже того, если у меня возникнут проблемы и мне придется вернуться к моментальному снимку, все работы, выполненные в течение этого времени на GitLab, будут потеряны (комментарии к запросам на слияние, изменениям и т. Д.)
Я использую уведомления GitLab, которые появляются на каждой странице GitLab, а также в ответе сервера от команд git push
. Однако они широко игнорируются пользователями.
Итак, вопрос:
- Какова лучшая стратегия обновления GitLab без риска потери данных?
- Как я могу запретить пользователям использовать GitLab во время обслуживания?