«=== Загрузка следующей версии для установки ===»
«=== Успешно завершено ===»
«=== Резервное копирование текущего экземпляра ===»
«=== Вытащить новый контейнер ===»
«=== Перезапустить с новым контейнером ===»
«=== Успешно завершено ===»
/// Извлеките текущую версию Gitlab из запущенного контейнера с помощью команды `docker inspect`.
// Запустить команду `docker inspect` и захватить вывод.
// `докер проверяет $CONTAINER_NAME`
// Анализ предыдущего вывода команды и чтение тега изображения Docker.
// Анализ номеров версий.
/// Извлекать доступные теги Gitlab-ce из API-концентратора докеров, пока не будет достигнута заданная версия.
// Запрос API концентратора докеров.
// Сохранить URL следующей страницы.
// Извлечь список тегов.
/// 1. Если существует новая версия патча (тот же основной, тот же дополнительный, более высокий патч), она выбирается.
/// 2. В противном случае, если доступна следующая младшая версия (тот же мажор, младшая + 1, любой патч), она выбирается.
/// 3. В противном случае, если ALLOWED BY CONF и доступна следующая основная версия (основная + 1, дополнительная = 0, любой патч), она выбирается.
/// 4. В противном случае возвращается null: доступных обновлений нет.
// Получить следующую версию исправления, если она доступна.
// Получить следующую дополнительную версию, если она доступна.
// Получить следующую основную версию, если она доступна.
/// Сделайте резервную копию, выполнив команду `gitlab-rake gitlab:backup:create` в работающем контейнере.
// `docker exec -t $CONTAINER_NAME gitlab-rake gitlab:backup:create`
/// Вытащите контейнер Gitlab с заданной версией.
// `docker pull gitlab/gitlab-ce:$VERSION`
/// Остановить работающий контейнер Gitlab.
// `docker stop $CONTAINER_NAME`
/// Удалить текущий контейнер Gitlab.
// `docker container rm $CONTAINER_NAME`
/// Запуск контейнера Gitlab данной версии.
/// Показать журналы.
// `docker logs -f $CONTAINER_NAME`
/// Дождаться запуска контейнера.
- Обновите GitLab с помощью пакета GitLab (БЕСПЛАТНО)
- Предпосылки
- Время простоя
- Изменения, зависящие от версии
- Сделайте резервную копию перед обновлением
- Обновите с помощью официальных репозиториев
- Обновите до последней версии, используя официальные репозитории
- Обновите до определенной версии, используя официальные репозитории
- Обновление с помощью загруженного вручную пакета
- Обновите документацию по продукту
- Устранение неполадок
- Получить статус установки GitLab
- Ошибка RPM "пакет уже установлен"
- Пакет устарел из-за установленного пакета
- Ошибка 500 при доступе к Проекту > Настройки > Репозиторий
- Ошибка Failed to connect to the internal GitLab API на отдельном сервере GitLab Pages
- Ошибка An error occurred during the signature verification при беге apt-get update
- Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Command timed out after 3600s
- Отсутствующие файлы активов
- Старые процессы
- Файлы дубликатов звездочек
- Неполная установка
- Поддержка NGINX Gzip
Обновите GitLab с помощью пакета GitLab (БЕСПЛАТНО)
Вы можете обновить GitLab до новой версии с помощью
Пакет GitLab.
Предпосылки
- Решите, когда обновлять, просмотрев поддерживаемые пути обновления
.
Вы не можете напрямую пропустить основные версии (например, перейти с 10.3 на 12.7 за один шаг). - Если вы переходите с установки без пакета на установку пакета GitLab, см.
Обновление с непакетной установки до установки пакета GitLab
. - Убедитесь, что любой
фоновые миграцииполностью завершены. Обновление
до завершения фоновой миграции может привести к повреждению данных.
Мы рекомендуем выполнять обновления между основными и дополнительными выпусками не чаще одного раза за
неделе, чтобы дать время для завершения фоновой миграции. - Серверы Gitaly необходимо обновить до более новой версии перед обновлением сервера приложений.
Это не позволяет клиенту gRPC на сервере приложений отправлять RPC, которые были в старой версии Gitaly.
не поддерживает.
Время простоя
- Для установок с одним узлом GitLab недоступен для пользователей, пока
идет обновление. Веб-браузер пользователя показываетDeploy in progress
сообщение или502
ошибка. - Для многоузловых установок см., как выполнить
обновления без простоев
. - Также можно выполнить обновление до многоузловых установок.
с простоями
.
Изменения, зависящие от версии
Сделайте резервную копию перед обновлением
Перед установкой новой версии GitLab создается резервная копия базы данных GitLab. Ты
может пропустить это автоматическое резервное копирование базы данных, создав пустой файл
в /etc/gitlab/skip-auto-backup
:
/etc/gitlab/skip-auto-backup
Тем не менее, настоятельно рекомендуется поддерживать полную актуальность
резерв
самостоятельно.
Обновите с помощью официальных репозиториев
Все пакеты GitLab публикуются на сервере пакетов GitLab
.
Поддерживается пять репозиториев:
-
gitlab/gitlab-ee
: Полный
Пакет GitLab, содержащий все функции Community Edition, а также
Корпоративная версия
те. -
gitlab/gitlab-ce
: Раздетый
down пакет, содержащий только функции Community Edition. -
gitlab/unstable
: Релиз-кандидаты и другие нестабильные версии. -
gitlab/nightly-builds
: Ночные сборки. -
gitlab/raspberry-pi2
: Официальные выпуски Community Edition, созданные для Raspberry Pi
пакеты.
Если вы установили GitLab Community Edition
или Enterprise Edition
, то
официальный репозиторий GitLab уже должен быть настроен для вас.
Обновите до последней версии, используя официальные репозитории
Если вы регулярно обновляете GitLab, например, раз в месяц, вы можете перейти на
последнюю версию с помощью менеджера пакетов.
Чтобы перейти на последнюю версию GitLab:
apt update apt gitlab-ee
# RHEL/CentOS 6 and 7
yum gitlab-ee
# RHEL/CentOS 8
dnf gitlab-ee
zypper gitlab-ee
ПРИМЕЧАНИЕ:
Для GitLab Community Edition замените gitlab-ee
с
gitlab-ce
.
Обновите до определенной версии, используя официальные репозитории
Менеджеры пакетов Linux по умолчанию устанавливают последнюю доступную версию
пакет для установки и обновления. Обновление непосредственно до последней основной
версия может быть проблематичной для более старых версий GitLab, которые требуют многоэтапного
путь улучшения
. Путь обновления может охватывать несколько
версии, поэтому вы должны указывать конкретный пакет GitLab при каждом обновлении.
Чтобы указать предполагаемый номер версии GitLab в установке вашего менеджера пакетов
или команда обновления:
Определите номер версии установленного пакета:
apt-cache madison gitlab-ee # RHEL/CentOS 6 и 7 yum list gitlab-ee # RHEL/CentOS 8 dnf list gitlab-ee zypper search gitlab-ee
apt gitlab-ee
# RHEL/CentOS 6 и 7
yum gitlab-ee-
# RHEL/CentOS 8
dnf gitlab-ee-
zypper gitlab-ee